Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с качеством картинок. [D7]


Toha ©   (2008-03-09 21:26:00) 

У меня программа изменяет размер картинок (в основном уменьшает). Но если сравнивать качество полученого результата, скажем, с аналогичным уменьшением в Paint'e,
то 'моя' картинка значительно проигрывает в качестве. Подскажите пожалуйста, как решить эту проблему.


TStas   (2008-03-10 15:37:00) [1]

А надо не стречДроу, а
SetStretchBltMode(Result.Canvas.Handle, HALFTONE);
StretchBlt(REsult.Canvas.Handle, 0, 0, Result.Width, Result.Height,
 SrcBMP.Canvas.Handle, 0, 0,  SrcBMP.Width, SrcBMP.Height, SRCCOPY);
Очень качественная картинка получается


Savek   (2008-03-10 14:03:00) [2]

про билинейную интерполяцию здесь
http://www.programmer.iatp.org.ua/delphi/stati/izobra.htm
также гугль, выдаст еще несколько алгоритмов..


Toha   (2008-03-10 11:20:00) [3]

И в итоге результат получается усыпан белыми пикселями.

> Использовать билинейную интерполяцию.
А это как?


Toha   (2008-03-10 11:17:00) [4]

Сначала в объект класа TJpegImage (j) загрузил картинку из файла, а потом TBitmap'y присвоил его размеры, и использовал процедуру Bitmap'a  

bit.Canvas.StretchDraw( bit.Canvas.Cliprect, j );


Savek   (2008-03-10 09:44:00) [5]

Сначала расскажи как ты смог добиться этой проблемы


homm   (2008-03-09 21:56:00) [6]

Использовать билинейную интерполяцию.


Наверх

Титульная страница Поиск, карта сайта Написать письмо