(Gast)
n/a Beiträge
|
Re: Bild an der x-aschse spiegeln
16. Mär 2008, 01:49
Grundsätzlich: TImage mag es nicht wenn man das Bitmap direkt verändert - weil das TImage spuckt einem zumindest in die Suppe. Von daher im Anhang ein fertiges Beispielprog.
Delphi-Quellcode:
procedure MirrorV(AImage: TImage);
var
lBmp: TBitmap;
begin
lBmp := TBitmap.Create;
try
lBmp.Assign(AImage.Picture.Graphic);
StretchBlt(lBmp.Canvas.Handle,
0,
0,
lBmp.Width,
lBmp.Height,
lBmp.Canvas.Handle,
0,
lBmp.Height,
lBmp.Width,
-lBmp.Height,
SRCCOPY);
AImage.Picture.Assign(lBmp);;
finally
lBmp.Free;
end;
end;
procedure MirrorH(AImage: TImage);
var
lBmp: TBitmap;
begin
lBmp := TBitmap.Create;
try
lBmp.Assign(AImage.Picture.Graphic);
StretchBlt(lBmp.Canvas.Handle,
0,
0,
lBmp.Width,
lBmp.Height,
lBmp.Canvas.Handle,
lBmp.Width,
0,
-lBmp.Width,
lBmp.Height,
SRCCOPY);
AImage.Picture.Assign(lBmp);;
finally
lBmp.Free;
end;
end;
|
|
Zitat
|