Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
Alex_Y   (2008-10-21 08:14) [0]

Привет Всем.

Пишу что-то типа просмотра изображений и столкнулся с такой проблемой. Загружаю оригинальную картинку в bmpSrc : TBitmap. Вычисляю область отображения от масштабного коэффициента Kscale. Копирую в imgEdit : Timage область просмотра с помощью CopyRect. Возникает проблема, когда область копирования из источника меньше области imgEdit, происходит нормальное масштабирование с сохранением оригинальных цветов палитры. Если же наоборот, то происходит уменьшение изображения, но идет искажение цветов.
вот собственно код:

RectEdit := imgEdit.ClientRect;
CenterImgX := bmpSrc.Width shr 1;  CenterImgY := bmpSrc.Height shr 1;
CenterX := imgEdit.Width shr 1;  CenterY := imgEdit.Height shr 1;
RectSrc.Left   := CenterImgX - Round(CenterX * Kscale);
RectSrc.Right  := CenterImgX + Round(CenterX * Kscale);
RectSrc.Top    := CenterImgY - Round(CenterY * Kscale);
RectSrc.Bottom := CenterImgY + Round(CenterY * Kscale);
imgEdit.Picture.Bitmap.Canvas.CopyRect(RectEdit, bmpSrc.Canvas, RectSrc);

Вопрос собственно где я накосячил, или может есть другой способ реализации данной задачи.

Заранее спасибо.


 
brother ©   (2008-10-21 09:21) [1]

кто мешает воспользоваться image1.stretch:=true ?


 
Alex_Y   (2008-10-21 09:26) [2]

не поможет, я делаю инструмент типа лупы в графических редакторах, поэтому может быть отображено как часть изображения на сесь image, так и все полностью в какой то части image, а все остальное залито белым


 
MBo ©   (2008-10-21 10:08) [3]

SetStretchBltMode


 
Alex_Y   (2008-10-21 11:01) [4]

2 MBo, огромное спасибо, то что надо :)



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

Форум: "Начинающим";
Текущий архив: 2008.11.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
15-1222266393
oldman
2008-09-24 18:26
2008.11.30
Это новый "вирус" такой - заставка экрана?


2-1224594331
ivanoff
2008-10-21 17:05
2008.11.30
SQL замудренный


3-1210739493
Аид
2008-05-14 08:31
2008.11.30
Работа с PostGreSQL, возможно ли?


15-1222713556
Alien1769
2008-09-29 22:39
2008.11.30
Типа задача


15-1222712852
NailMan
2008-09-29 22:27
2008.11.30
Просьба имеющим Емул ака Осла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский