![]() |
Bild in der Mitte des Canvas
Ich ändere die Größe eines Bitmaps, dabei möchte ich die Seitenverhältnisse beibehalten. Wenn das Bild dann verkleinert ist möchte ich es in die Mitte des Canvas setzen, da funktioniert aber nicht richtig. Ich poste hier mal den Quellcode, ich such nämlich schon länger den Fehler.
Delphi-Quellcode:
Die Bilder sehen meißt so aus das sie ein bisschen weiter links, bzw ein bisschen weiter oben sind. Sie sind aber nie in der Mitte.
.
. . var iPicHeight, iPicWidth: integer; eThumbHeight, eThumbWidth: TEdit; Bmp: TBitmap; Image: TImage; . . . Image.Picture.LoadFromFile(...); Bmp.Assign(nil); Bmp.Height := StrToInt(eThumbHeight.Text); Bmp.Width := StrToInt(eThumbWidth.Text); iPicHeight := Bmp.Height; iPicWidth := Bmp.Width; if Image.Picture.Height > Image.Picture.Width then iPicWidth := round(Bmp.Width * (Image.Picture.Width / Image.Picture.Height)) else iPicHeight := round(Bmp.Height * (Image.Picture.Height / Image.Picture.Width)); Bmp.Canvas.StretchDraw(Rect((Bmp.Width-iPicWidth) div 2, (Bmp.Height-iPicHeight) div 2, iPicWidth, iPicHeight), Image.Picture.Graphic); . . . |
Re: Bild in der Mitte des Canvas
ahst du eventuell scrollbars?
die müsstest du, genauso wie die titelleiste mit einberrechnen wenn dus über form zeichnest |
Re: Bild in der Mitte des Canvas
Achso nein, ich will es nicht übers Form ziehen, sondern es danach speichern.
Dazu sagen sollte ich noch das Ein Bild beispielsweise 900x500 groß ist und auf 100x100 verkleinert wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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