Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » BMP в Basic

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Nor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как прочитать или записать записать .bmp файл на Basic'е???
Не могу понять каким образом он строится...
Если у кого есть исходник на любых версиях Бейсика киньте на мыло плз!!!

Всего записей: 73 | Зарегистр. 28-03-2002 | Отправлено: 22:16 01-06-2002
Nor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне можно и просто инфу по этому формату или исходник на любом
языке...

Всего записей: 73 | Зарегистр. 28-03-2002 | Отправлено: 10:16 02-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nor
bmp не знаю... вылялся где то далекооооо исходник такой темы, которая читает pcx... по-моему этот чел, который её делал писал и для бмп, но я его щас не найду.
зы А зачем это тебе?

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 10:38 02-06-2002
Nor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grey2002
Да пишу я там прогу одну...

Всего записей: 73 | Зарегистр. 28-03-2002 | Отправлено: 14:20 02-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nor
да, кстати ты qbasic имел ввиду?

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 14:22 02-06-2002
Dust



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ВОт описание БМП:
 
    Описание формата BMP для Window 3.0 (DIB)
    =========================================
    Основным  отличием  файлов  нового  формата  (DIB)  -   Device
 Independent Bitmap (аппаратно-независимый битовый образ) является то, что в них используется кодировка цветов с одной битовой плоскостью.
    Файлы битовых образов нового формата начинаются  со  структуры BITMAPFILEHEADER:
 
    typedef struct tagBITMAPFILEHEADER {
word bfType; //тип файла (для битового образа - BM)
dword bfSize; //размер файла в dword
word bfReserved1; //не используется
word bfReserved2; //не используется
  dword bfOffbits; //смещение данных битового образа от
//заголовка в байтах
 
    }
    Непосредственно за ней располагается структура BITMAPINFO, со-
 держащая всю информацию о битовом образе. Она делится на две части: структуру BITMAPINFOHEADER, описывающей  размеры  и  цветовой формат битового образа, и массив структур  RGBQUAD,  определяющей цветовую палитру:
 
    typedef struct tagBITMAPINFO {
    BITMAPINFOHEADER bmiHeader;
    RGBQUAD bmiColors[1];
    }
 
    typedef struct tagBITMAPINFOHEADER {
dword biSize; //число байт, занимаемых структурой
//BITMAPINFOHEADER
  dword biWidth; //ширина битового образа в пикселах
  dword biHeight; //высота битового образа в пикселах  
word biPlanes; //число битовых плоскостей устройства
word biBitCount; //число битов на пиксель
dword biCompression; //тип сжатия
dword biSizeImage; //размер картинки в байтах
dword biXPelsPerMeter;//горизонтальное разрешение устройства,
//пиксел/м
dword biYPelPerMeter; //вертикальное разрешение устройства,
//пиксел/м
dword biClrUsed; //число используемых цветов
dword biClrImportant; //число "важных" цветов
    } BITMAPINFOHEADER;
 
    Более подробно:
 
    biSize - обычно используется для облегчения доступа  к таблице цветов.
 
    biPlanes - определяет число битовых плоскостей;  однако,   поскольку цвет кодируется последовательными битами, это число всегда равно 1.
 
    biBitCount - этим полем определяется число  цветов, используемых битовым образом. В зависимости от способа кодирования, может принимать значения:
    1 - битовый образ монохромный, и таблица цветов  должна содер-
 жать два элемента. Каждый бит в массиве данных кодирует один пиксел. Если значение бита - 0, то пиксел становится  первым  цветом таблицы; если - 1, пиксел становится вторым цветом таблицы.  4 - битовый образ имеет максимум 16 цветов, и массив bmiColors (таблица цветов) имеет до 16 элементов. Цвет каждого  пиксела определяется по таблице цветов при помощи  четырехбитного  индекса. Например, если первый байт данных  имеет  значение  3Ah,  то  при отображении битового образа цвет первого пиксела  определяет четвертый элемент таблицы цветов, а цвет второго - одиннадцатый.
    8 - битовый образ имеет максимум 256 цветов, и  таблица цветов
 имеет до 256 элементов. Каждый  байт  массива  данных  определяет цвет одного пиксела.
    24 - битовый образ имеет максимум 2  в  24-й  степени  цветов.
 Таблица цветов пуста, а цвет пикселов  определяется  пакетами  из
 трех байтов, описывающими цветовые интенсивности  красного, зеленого и голубого цветов.
 
    biCompression - тип сжатия. Может принимать значения:
BI_RGB - сжатие отсутствует;
BI_RLE8 - сжатие для формата 8 бит на пиксел;
BI_RLE4 - сжатие для формата 4 бита на пиксел.
 
    biXPelsPerMeter и biYPelsPerMeter - могут  использоваться  для
 выбора из списка ресурсов пиктограммы,  наиболее  подходящей  для данного устройства.
 
    biClrUsed - число цветов, используемых данныи битовым образом.
 Если 0, то используются все цвета палитры  (указанные  в  массиве
 bmiColors).
    biClrImportant - используется для управления  алгоритмом отоб-
 ражения цветов. Так, если четыре различных  приложения отображают на экране по одному битовому образу с 75 цветами каждый, то адаптер, выводящий 256 цветов одновременно, не  сможет  полностью аутентично отобразить на экране все 4 картинки. В  этом  случае используется механизм замены цветов - ищется битовый  образ  с наименьшим приоритетом и его "лишние" цвета заменяются наиболее подходящими.
 
    typedef struct tagRGBQUAD {
byte rgbRed; //интенсивность красного
byte rgbGreen; //интенсивность зеленого
byte rgbBlue; //интенсивность голубого
byte rgbRserved; //не используется
} RGBQUAD;
 
    После того, как все параметры битового  образа  определены,  в
 файле идут сами  скан-строки  битовой  плоскости,  причем  первой
 скан-строкой в формате DIB считается нижняя скан-строка (т.е. на-
 чало координат находится в левом нижнем углу изображения).
 
    Скан-строки выровнены по 32-битной границе - dword !!!
 
ЗЫ Если у тебя не квик а визула бейсик, то лучге используй виндовые функции работы с растром.

Всего записей: 460 | Зарегистр. 01-03-2002 | Отправлено: 15:05 02-06-2002
Nor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grey2002
А какая разница???
Они почти одинаковы
Но именно сейчас мне надо на ку...
Dust
Спасибо!!!

Всего записей: 73 | Зарегистр. 28-03-2002 | Отправлено: 20:56 02-06-2002
sharlatanat



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nor

Цитата:
Как прочитать или записать записать .bmp файл на Basic'е???

https://qb45.org/files.php?cat=7&p=1
https://forum.qb64.org/index.php?topic=2181.0
https://www.tek-tips.com/viewthread.cfm?qid=1704292
И вот программа (только для Screen 13, 320 x 200 x 256) — https://www80.zippyshare.com/v/PG9wWoj9/file.html
Документация — https://www.upload.ee/files/14109612/Readme_File_for_BMP_to_QBASIC_Converter.pdf.html

----------
©

Всего записей: 1250 | Зарегистр. 24-02-2006 | Отправлено: 00:59 04-05-2022 | Исправлено: sharlatanat, 01:18 04-05-2022
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » BMP в Basic


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru