Главная страница
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.03 c
4-1139213874
Chaser
2006-02-06 11:17
2006.04.23
Как определить на весь ли экран DOS оно


15-1143890525
Alexander Panov
2006-04-01 15:22
2006.04.23
Что это было?


3-1141196587
Kley
2006-03-01 10:03
2006.04.23
Вычисляемое поле


2-1144733806
Сергей И.
2006-04-11 09:36
2006.04.23
Работа с принтером


3-1141071580
проходивший мимо....
2006-02-27 23:19
2006.04.23
создание динамических объектов для работы с БД