Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Image Begrenzungsbereich (https://www.delphipraxis.net/203032-image-begrenzungsbereich.html)

juelin 6. Jan 2020 18:24

Image Begrenzungsbereich
 
Hi zusammen,
ich habe Delphi 10.3.3 und Windows10.
In ein Image (Entwurfsgröße Height=280 Width=280) lade ich ein Bitmap
mit Image1.Picture.LoadFromFile.
Image1.Stretch ist True.
Nach dem Start des Programms hat das Image Height=350 und Width=350.
Wenn ich nun mit Image1.Canvas.Pixels[X,Y] auf die einzelnen Pixel
zugreife bekomme ich ab X=121 und Y=121 nur den Wert -1.
Das Original Bitmap hat Height=120 und Width=120.
Wie kann ich das Problem lösen?
Danke und Gruß (gutes neues Jahr)
Jürgen

Redeemer 6. Jan 2020 21:30

AW: Image Begrenzungsbereich
 
Das mit den 280 zu 350 ist Bildschirmskalierung.

Zurück zum eigentlichen Problem: Erstell dir eine lokale TBitmap-Variable, lade dein Bild dort hinein und zeichne die mit Delphi-Referenz durchsuchenTImage.Canvas.Delphi-Referenz durchsuchenStretchDraw auf dem TImage. Bei der ersten Verwendung von TImage.Canvas wird automatisch Delphi-Referenz durchsuchenTImage.Picture.Bitmap mit der aktuellen Größe erstellt (passt sich nicht automatisch an). Du kannst entweder auf dessen Pixels-Eigenschaft oder die von TImage.Canvas zugreifen. Langsam ist beides. Schneller ist TPngImage, aber das wäre noch eine Ecke komplizierter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.

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