Cum se restrânge bitmap

Cum se restrânge bitmap?

Bună ziua tuturor maeștrilor și nu numai!
Situație: bitmap încărcate în TImage.
Întrebare: cum să facă (bitmap) a redus, de exemplu,
dreapta (stânga, sus, jos), în numărul necesar de pixeli?
| \
| \
| # XA0; |
| # XA0; |
| # XA0; |
| /
| /
Dacă există INFA despre ea, puteți arunca pe [email protected]?
Și nu-mi pot permite să stea o lungă perioadă de timp în Internet.
. În avans, vă mulțumesc foarte mult.

Ce înseamnă „scăzut“? StretchDraw?

La un capăt (de exemplu, de la dreapta), a devenit mai puțin

TBitmap.Canvas.StretchDraw # XA0; roi în această direcție.

Da, există o anumită formulă.


Procedura TForm1.Button1Click (Expeditor: TObject);
var
# XA0; a, b: TBitmap;
# XA0; x, y, yy, cy, w: Integer;
începe
# XA0; a: = TBitmap.Create;
# XA0; b: = TBitmap.Create;
# XA0; a.LoadFromFile ( "pic.bmp");
# XA0; b.Assign (a);
# XA0; b.Canvas.FillRect (Rect (0, 0, b.Width, b.Height));
# XA0; w: = a.Width;
# XA0; cy: = a.Height div 2;
# XA0; x: = 0 până la a.Width - 1 do
# XA0; # XA0; pentru y: = 0 până la a.Height - 1 nu înceapă
# XA0; # XA0; # XA0; yy: = cy + (y - cy) * (w - x div 2) div w;
# XA0; # XA0; # XA0; b.Canvas.Pixels [x, yy]: = a.Canvas.Pixels [x, y];
# XA0; # XA0; end;
# XA0; Canvas.Draw (0, 0, b);
# XA0; b.Free;
# XA0; a.Free;
se încheie;

La școală a studiat? Spune-mi sincer.

școală acest gunoi nu suferă, și am să!

Mi-am făcut o perversiune: pentru a pune o textură în OpenZhL trapez)))!