|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.11.2012, 00:00 | #1 | |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 6
|
с++, .BMP
пытаюсь заставить этот код работать, для начала просто открываю бмп файл, и сохраняю данные в другой бмп файл, так вот с 16,256-цветными работает, а с 24-разрядными происходят какие-то странные искажения. Подскажите, в чем может быть проблема?
Исходные 24-битные изображения: http://clip2net.com/s/2xz01 http://clip2net.com/s/2xz16 То, что на выходе, собственно: http://clip2net.com/s/2xz1Q http://clip2net.com/s/2xz29 Цитата:
Последний раз редактировалось Lavandil; 26.11.2012 в 00:04. |
|
26.11.2012, 01:16 | #2 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
в 24 битном изображении в отличии от 16-256 цветных не используется карта цветов.
|
26.11.2012, 01:38 | #3 |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 6
|
я понимаю - но я ведь просто копирую файл в буфер, а потом записываю данные в другой файл..
в случае фона - функция _read(h_bmp1, p1, len_bmp1); возвращает 4 байта почему-то, в случае НЛО - нормально читает все байты Последний раз редактировалось Lavandil; 26.11.2012 в 01:44. |
26.11.2012, 01:47 | #4 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
Код:
bmiHeader A BITMAPINFOHEADER structure that contains information about the dimensions of color format. . bmiColors The bmiColors member contains one of the following: An array of RGBQUAD. The elements of the array that make up the color table. An array of 16-bit unsigned integers that specifies indexes into the currently realized logical palette. This use of bmiColors is allowed for functions that use DIBs. When bmiColors elements contain indexes to a realized logical palette, they must also call the following bitmap functions: CreateDIBitmap CreateDIBPatternBrush CreateDIBSection The iUsage parameter of CreateDIBSection must be set to DIB_PAL_COLORS. The number of entries in the array depends on the values of the biBitCount and biClrUsed members of the BITMAPINFOHEADER structure. The colors in the bmiColors table appear in order of importance. For more information, see the Remarks section. |
26.11.2012, 01:57 | #5 | |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 6
|
Я вообще говоря читал про вот такую:
Цитата:
я же специально выделил жирным ту часть кода, которая в данным момент имеет значение, а там это все не используется - либо я не понимаю что ты мне этим хочешь сказать. P.S. Я же не преобразую из 16 в 24, а просто копирую Последний раз редактировалось Lavandil; 26.11.2012 в 02:00. |
|
26.11.2012, 02:05 | #6 |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 6
|
В общем создал свой файл в пэйнте 24 разрядный, скопировало нормально. А до этого я открывал файл jpeg в фотошопе и пэйнте и сохранял его как 16,256 цветный, 24 разрядный bmp, копирует криво только 24разрядный. Правда не имею никаких идей из за чего этого могло произойти.
Последний раз редактировалось Lavandil; 26.11.2012 в 02:09. |
26.11.2012, 02:10 | #7 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
Порядок чтения из файла (24 бит):
BITMAPFILEHEADER BITMAPINFOHEADER Массив RGB В RGBQUAD из структуры BITMAPINFO заносится карта цветов. В 24 битном изображении ее нет. Последний раз редактировалось crymchanin; 26.11.2012 в 02:13. |
26.11.2012, 02:26 | #8 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
Код:
|
26.11.2012, 03:35 | #9 | |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 6
|
Цитата:
P.S. Прикрепил еще bmp с котом, которого тоже скачал из нета в формате jpeg,а потом конвертировал в 24 bmp в paint Последний раз редактировалось Lavandil; 26.11.2012 в 03:57. |
|
26.11.2012, 09:14 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Открывайте второй файл в двоичном режиме...
f1 = fopen("r3.bmp", "w"); f1 = fopen("r3.bmp", "wb"); |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наложить BMP на BMP. | sergeyrulit | Общие вопросы Delphi | 6 | 05.03.2015 13:41 |
BMP | GonzA | C# (си шарп) | 0 | 13.06.2012 08:25 |
bmp | Ципихович Эндрю | Свободное общение | 10 | 01.04.2012 20:55 |
Загрузка BMP в Simple Graph и сохранение в BMP формат | artemavd | Общие вопросы Delphi | 10 | 02.10.2010 14:19 |