Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
В Delphi изменять размеры изображения очень просто, используя CopyRect:
procedure TForm1.Button1Click(Sender: TObject); begin Form1.Canvas.Font.Size := 24; Form1.Canvas.TextOut(0, 0, 'Text'); Form1.Canvas.CopyRect(Bounds(0, 50, 25, 10), Form1.Canvas, Bounds(0, 0, 100, 40)); end;
Но этот способ не очень хорош для уменьшения не маленьких картинок – мелкие детали сливаются. Для частичного устранения этого недостатка при уменьшении изображения в четыре раза я беру средний цвет в каждом квадратике 4X4. К чему это приводит, посмотрите сами.
procedure TForm1.Button1Click(Sender: TObject); var x, y: integer; i, j: integer; r, g, b: integer; begin Form1.Canvas.Font.Size := 24; Form1.Canvas.TextOut(0, 0, 'Text'); for y := 0 to 10 do begin for x := 0 to 25 do begin r := 0; for i := 0 to 3 do for j := 0 to 3 do r := r + GetRValue(Form1.Canvas.Pixels[4*x+i, 4*y+j]); r := round(r / 16); g := 0; for i := 0 to 3 do for j := 0 to 3 do g := g + GetGValue(Form1.Canvas.Pixels[4*x+i, 4*y+j]); g := round(g / 16); b := 0; for i := 0 to 3 do for j := 0 to 3 do b := b + GetBValue(Form1.Canvas.Pixels[4*x+i, 4*y+j]); b := round(b / 16); Form1.Canvas.Pixels[x,y+50] := RGB(r, g, b) end; Application.ProcessMessages; end; end;