![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TBitmap и StretchBlt [D7, WinXP]
VasRoG © (2005-11-22 01:26:00)Имеется картинка. Из нее нужно вырезать некоторый кусок, затем увеличить/уменьшить в некоторое число раз.
Создаю битмап, загружаю в него картинку и затем для вырезания/увеличения использую StretchBlt. Результат помещаю в еще один битмап. Вопрос вот в чем:
почему при использовании ф-ции StretchBlt получается изображение как будто наложенное на бумагу в клеточку. Т.е. все изображение поделено на мелкие квадратики черными линиями. Как сие убрать? Или может лучше использовать другую функцию?
VasRoG (2005-11-23 16:18:00) [1]Sapersky
Eraser
Да уж, несравнимо лучше. Спасибо.
Eraser (2005-11-23 14:54:00) [2]
> VasRoG (22.11.05 01:26)
SetStretchBltMode(Canvas.Handle, HALFTONE);
// The docs say that you should call SetBrushOrgEx after SetStretchBltMode,
// but not what the arguments should be.
SetBrushOrgEx(Canvas.Handle, 0,0, nil);
StretchBlt(...
но работать будет только на 2000 и выше.
Sapersky (2005-11-23 11:09:00) [3]HALFTONE даёт лучшее качество.
VasRoG (2005-11-22 22:37:00) [4]MBo
Спасибо, ColorOnColor действительно помог. Хотя качество очень так себе.
Separator
Спасибо, посмотрю.
Separator (2005-11-22 10:31:00) [5]StretchBlt - это грубое растягивание, лучше посмотри какие-нибудь методы по обработке картинок
скачай у меня http://Sergey-Vilgelm.narod.ru/source/access.rar
обрати внимание наresample.pas
MBo (2005-11-22 07:24:00) [6]>Т.е. все изображение поделено на мелкие квадратики черными линиями.
Ни разу такого не видел...
На всякий случай - посмотри SetStretchBltMode