Текущий архив: 2006.01.29;
Скачать: CL | DM;
Вниз
Выполнить кропинг(срез) изображения? Найти похожие ветки
← →
S_Flash (2005-08-22 16:07) [0]Подскажите, если можн , то на примере, как реализовать кропинг изображения. Например для ресайза, я использую такой код:
Scr:= TBitmap.Create;
Dest:= TBitmap.Create;
try
Form1.Image1.Picture.LoadFromFile(file_source);
Scr.Assign(Form1.Image1.Picture.Graphic);
Dest.Assign(Scr);
Dest.Width:= размер по горизонтали;
Dest.Height:= размер по вертикали;
SetStretchBltMode(Dest.Canvas.Handle, HALFTONE);
StretchBlt(Dest.Canvas.Handle, 0, 0, Dest.Width, Dest.Height, Scr.Canvas.Handle, 0, 0, Scr.Width, Scr.Height, SRCCOPY);
j.Assign(Dest);
j.CompressionQuality:= quality;
j.Compress;
j.SaveToFile("file_save");
finally
Scr.Free;
Dest.Free;
j.Free;
end;
← →
Vcoder © (2005-08-22 23:00) [1]Не понимаю, в чем проблема - кропинг, как я понимаю, обрезка? Так используй
BitBlt
вместоStretchBlt
:
BitBlt(Dest.Canvas.Handle,
0,
0,
Dest.Width,
Dest.Height,
Scr.Canvas.Handle,
xFrom,
yFrom,
SRCCOPY);
Скопирует вDest
прямоугольный участок, начинающийся с координат(xFrom,yFrom)
и имеющий размер(Dest.Width,Dest.Height)
.
PS. Если неверно понял - звиняюсь. Опиши подробнее, в чем проблема.
← →
S_Flash (2005-08-23 00:19) [2]Все получилось, спасибо!
Страницы: 1 вся ветка
Текущий архив: 2006.01.29;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.045 c