Изменение размера загружаемого изображения
StretchDraw требуется два параметра. Первый параметр – прямоугольник, в который будет выводиться изображение. Если прямоугольник имеет другие размеры, чем у выводимого изображения, его размеры будут изменены. Но это может привести к искажению изображения. Во втором параметре передается само растровое изображение.
В следующем примере, пользователь выбирает загружаемое изображение в диалоговом окне и помещает его на форму в размере, в два раза меньше оригинального.
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp: TBitmap;
begin
if OpenDialog1.Execute then
begin
Bmp:= TBitmap.Create;
try
Bmp.LoadFromFile(OpenDialog1.Filename);
Self.Canvas.StretchDraw(Rect(0,
0,
Bmp.Width div 2,
Bmp.Height div 2),
Bmp);
finally
Bmp.Free;
end;
end;
end;
Если изображение будет значительно увеличено по сравнению с оригиналом, качество изображения будет ухудшаться. Чтобы избежать этого эффекта, можно использовать алгоритм растяжения изображения. Этот алгоритм можно найти, например, в графической библиотеке GraphicEx.
Комментарии