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

Вниз

масштабирование изображений   Найти похожие ветки 

 
Strech   (2005-06-23 02:07) [0]

Приветствую, Мастера! Кто нибудь знает алгоритмы сжатия/растяжения цветных изображений? Функция StretchBlt слишком сильно искажает цвета и появляются артефакты. Не помогает даже режим SetStretchBltMode(DC, COLORONCOLOR)


 
WondeRu ©   (2005-06-23 15:34) [1]

покажи код... может DC не тот?


 
AYA   (2005-06-23 21:12) [2]

Смотри исходники Graphics32, JanFX - там примеры с использованием сглаживания при растяжении, и множество других визуальных эффектов


 
Strech   (2005-06-24 02:15) [3]

куски кода, использую DirectX:

FDDSBack: IDirectDrawSurface7;
hBMP: HBITMAP;
hdcImage, DC: HDC;

 hBMP := LoadImage(...); //картинка 200х200

 if FDDSBack.GetDC(DC) = DD_OK then
 begin
   hdcImage := CreateCompatibleDC(DC);
   SelectObject(hdcImage, hBMP);
   SetStretchBltMode(DC, COLORONCOLOR);
   StretchBlt(DC, 0, 0, 100, 100, hdcImage, 0, 0, 200, 200, SRCCOPY);
   DeleteDC(hdcImage);
   FDDSBack.ReleaseDC(DC);
 end;
 DeleteObject(hBMP);

если выводить кусок картинки 100х100 - все в норме, а при масштабировании появляются лишние точки. Например, если общий тон картинки фиолетовый, то появляется много красных точек. В исходном изображении красных точек вообще нет. Причем если убрать режим COLORONCOLOR, то артефактов еще больше.

>AYA исходники посмотрю, спасибо


 
Sapersky   (2005-06-24 12:04) [4]

Большинство современных карт делают вполне приличный Stretch при блиттинге. Т.е., как вариант, создать маленькую поверхность, скопировать в неё, оттуда Blt в большую.



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
14-1129879974
BiN
2005-10-21 11:32
2005.11.13
Полезные советы: как выжить, когда закончится нефть


3-1128347060
TAN_K
2005-10-03 17:44
2005.11.13
Запись из Delphi в FoxPro


14-1129729148
oldman
2005-10-19 17:39
2005.11.13
Это форум глючит, или мой комп?


4-1124626634
Proger121
2005-08-21 16:17
2005.11.13
Программатор SEEPROM для серии 93Сxx


10-1107512444
sapsi
2005-02-04 13:20
2005.11.13
Поиск-замена в Word средствами делфи