Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bild in der Mitte des Canvas (https://www.delphipraxis.net/46688-bild-der-mitte-des-canvas.html)

Brainstalker 29. Mai 2005 20:35


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:
.
.
.
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);
.
.
.
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.

Nicodius 29. Mai 2005 20:37

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

Brainstalker 29. Mai 2005 20:43

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 06:17 Uhr.

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