Текущий архив: 2008.11.30;
Скачать: CL | DM;
Вниз
Цвета при масштабировании 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;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.005 c