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

Вниз

TBitmap и StretchBlt   Найти похожие ветки 

 
VasRoG   (2005-11-22 01:26) [0]

Имеется картинка.  Из нее нужно вырезать некоторый кусок,  затем увеличить/уменьшить в некоторое число раз.
Создаю битмап,  загружаю в него картинку и затем для вырезания/увеличения использую StretchBlt.  Результат помещаю в еще один битмап.  Вопрос вот в чем:
почему при использовании ф-ции StretchBlt получается изображение как будто наложенное на бумагу в клеточку.  Т.е. все изображение поделено на мелкие квадратики черными линиями.  Как сие убрать?  Или может лучше использовать другую функцию?


 
MBo ©   (2005-11-22 07:24) [1]

>Т.е. все изображение поделено на мелкие квадратики черными линиями.

Ни разу такого не видел...

На всякий случай - посмотри SetStretchBltMode


 
Separator ©   (2005-11-22 10:31) [2]

StretchBlt - это грубое растягивание, лучше посмотри какие-нибудь методы по обработке картинок
скачай у меня http://Sergey-Vilgelm.narod.ru/source/access.rar

обрати внимание на resample.pas


 
VasRoG   (2005-11-22 22:37) [3]

MBo

Спасибо,  ColorOnColor действительно помог.  Хотя качество очень так себе.

Separator

Спасибо,  посмотрю.


 
Sapersky   (2005-11-23 11:09) [4]

HALFTONE даёт лучшее качество.


 
Eraser ©   (2005-11-23 14:54) [5]


> 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 и выше.


 
VasRoG   (2005-11-23 16:18) [6]

Sapersky
Eraser

Да уж,  несравнимо лучше.  Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1143725508
Чародей
2006-03-30 17:31
2006.04.23
Memory Management


15-1142726262
ronyn
2006-03-19 02:57
2006.04.23
ICQ recovery password


15-1143877616
VictorT
2006-04-01 11:46
2006.04.23
А кого как развели?


2-1144400767
dera
2006-04-07 13:06
2006.04.23
Чем можна заменить?


3-1140938701
Bocman
2006-02-26 10:25
2006.04.23
fastreport 2.4 и параметры в query