Изменение размера загружаемого изображения
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.
Комментарии