Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Image Resize ohne verzerung ? (https://www.delphipraxis.net/118228-image-resize-ohne-verzerung.html)

Praxist 3. Aug 2008 13:46


Image Resize ohne verzerung ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo

ich habe immer noch nicht geschafft mein Image breiter oder schmaler zu machen ohne das Bild in
Image verzerren zu müssen.
ich möchte einfach das Bild von einer Seite erweitern
Die Erweiterung soll z.B. mit weissem Hintergrund wie im Bild
Was schlagt Ihr vor ?

ich kann nur die Erweiterung von rechts und von unten
wie kann ich das Bild auch von links und von oben erweitern?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.autosize:=true;
image1.Stretch:=false;
Image1.Picture.Bitmap.Width := Image1.Picture.Bitmap.width+50;
Image1.Picture.Bitmap.height := Image1.Picture.Bitmap.height+50;
end;

Neutral General 3. Aug 2008 13:52

Re: Image Resize ohne verzerung ?
 
Hi,

Dazu musst das Bild nach unten/rechts erweitern und den ursprünglichen Bildbereich nach unten/rechts schieben (mit CopyRect o.ä.)

Praxist 3. Aug 2008 17:36

Re: Image Resize ohne verzerung ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
fast geklappt
ich muss nur das alte Bild löschen, damit ich einen weissen HG bekomme
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
w,h:integer;
dx,dy:integer;
begin
w:=image2.Width;
h:=image2.Height;
dx:=50;
dy:=50;
Image1.Picture.Bitmap.Width := Image1.Picture.Bitmap.width+dx;
Image1.Picture.Bitmap.height := Image1.Picture.Bitmap.height+dy;
Image1.Canvas.CopyRect(rect(dx,dy,w+dx,h+dy),Image2.Canvas,rect(0,0,w,h));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz