Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Проблема с 32-битным BitMap ом   Найти похожие ветки 

 
dvk   (2005-10-14 14:34) [0]

Если BitMap имеет формат pf32bit и я пытаюсь сохранить его, а потом открываю его любым просмотрщиком, то вижу картинку с явно искажённой палитрой.
То же происходит, если я пытаюсь сначала преобразовать его в более низкое цветовое разрешение строкой вида:
bmp1.pixelformat:=pf24bit;
Потом сохраняю - всё равно палитра искажена.

Приходится идти напролом:
if bmp1.PixelFormat=pf32bit then
begin
     tempbmp:=NewDIBBitmap(bmp1.Width, bmp1.Height, pf24bit);
     for i:=0 to Pred(bmp1.Height) do
     begin ps:=bmp1.scanline[i];
       pd:=tempBMP.ScanLine[i];
       for j:=0 to pred(bmp1.width) do
         begin pd[j*3]:=ps[j*4]; pd[j*3+1]:=ps[j*4+1]; pd[j*3+2]:=ps[j*4+2] end;
     end;
     bmp1.Assign(tempBMP);
     tempbmp.free;
end;

Это весьма неэлегантно. Может, закралась ошибка в процедуре исзменения цветового разрешения в KOL?


 
Vladimir Kladov   (2005-10-15 16:14) [1]

что за версия KOL? (Вообще что-то весьма странное, такого не встречал) Хотя бы даже на приложении GrabScreen гляньте - там сохраняется в таком же формате, что и на Desktop-е текущее. Неужто и там искажается, если поставить TrueColor?


 
dvk   (2005-10-17 08:02) [2]

Версия KOL 2.13.
Если интересно, вот скриншот с экрана после сохранения (размер 73 кБ)
http://img361.imageshack.us/img361/2627/24bit7df.png
Да, забыл добавить, всё вышесказанное было встречено мною после снятия скриншота по PrintScreen, затем bmp1.PasteFromClipBoard; bmp1.savetofile.
В Вашей программе, Владимир, действительно всё сохраняетсчя нормально, я даже специально поменял в процедуре CaptureRegion
Format := pf32bit;
Ещё одно. Видеокарта у меня интегрированная - Intel Extreme Graphic.



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
2-1149490302
novice
2006-06-05 10:51
2006.06.25
Контроль работы приложения на уд. компе


4-1143196595
Тфьу
2006-03-24 13:36
2006.06.25
Как запретить стандартную прокрутку от колеса мыши?


2-1149429896
Krants
2006-06-04 18:04
2006.06.25
SQL запросы


6-1139817774
Anton_123
2006-02-13 11:02
2006.06.25
Delphi, Web & RealVideo


15-1149086118
iamn00b
2006-05-31 18:35
2006.06.25
доходчиво про базу данных пж