Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   "Loch" im PNG-Image?! (https://www.delphipraxis.net/160594-loch-im-png-image.html)

Jazzman_Marburg 21. Mai 2011 14:43

"Loch" im PNG-Image?!
 
Hallo Gemeinde!

Ich rätsle gerade über folgendem Grafik-Phänomen:
Ich lade (mit GDI+) ein PNG-File und lasse es in einer Image-Komponente anzeigen.
Soweit so gut.
Nun schreibe ich einen MouseDown-Event handler, der mir einfach die Maus-Koordinaten ausgibt.
Ich fahre nun über dem Image mit der Maus und die Koordinaten werden reausgschrieben.
Aber: Wenn ich in einem bestimten Bereich des Images bin (ca. 100 x 100 Pixel) tut sich nix! Das Event wird nicht gefeuert!
Sobald ich diese No-Go-Area in einer beliebigen Richtung verlasse, wird wieder prima gefeurt und die aktuellen Koordinaten angezeigt.
Sowas schon mal gesehen?
Ich habe mir dann das PNG in Photoshop genauer angeschaut, kann aber nichts auffälliges in diesem Bereich sehen.
Habe dann testweise das PNG in ein BMP umgewandelt und in eine Image-Komponente geladen (ohne GDI+) und dieses Image enthält kein solchen toten Bereich.
Jetzt frage ich mich, ist das Problem eher im PNG zu suchen oder im GDI+?

So lade ich ich das PNG-File und lasse es anschließend anzeigen:
Delphi-Quellcode:
  gImage  := TGPImage.Create(Filename);
  Graphics := TGPGraphics.Create(Main_Form.MainImage.Canvas.Handle);
  Graphics.DrawImage(gImage, 0, 0, gImage.Width, gImage.Height);
Jemand eine Idee?
Danke & Gruß
Jazzman

Cyberbob 21. Mai 2011 15:28

AW: "Loch" im PNG-Image?!
 
Befindet sich dort zufällig noch eine andere Komponente über den Image?
Verwende Testweise mal das MouseMove-Evetn. Hast du da das gleiche Problem?
Wird das MouseDown-Event überhaupt ausgelöst, wenn du in den Toten Bereich kommst, oder wird einfach nur die Koordinate nicht korrenkt ausgegeben?

Jazzman_Marburg 21. Mai 2011 19:58

AW: "Loch" im PNG-Image?!
 
Zitat:

Zitat von Cyberbob (Beitrag 1102110)
Befindet sich dort zufällig noch eine andere Komponente über den Image?
Verwende Testweise mal das MouseMove-Evetn. Hast du da das gleiche Problem?
Wird das MouseDown-Event überhaupt ausgelöst, wenn du in den Toten Bereich kommst, oder wird einfach nur die Koordinate nicht korrenkt ausgegeben?

Hallo!
Ja, das MouseDown-Event wird auch nicht gefeuert :|
Eine andere Komponente liegt dort nicht drauf... D.h. das schau ich gleich mal nach (gerade nur das iPad zur Hand), aber ich glaube da liegt zumindest noch ein TImage in der Nähe.

Guter Tipp - ich sag Bescheid.

Gruß Jazzman

Jazzman_Marburg 22. Mai 2011 09:04

AW: "Loch" im PNG-Image?!
 
In der Tat!
Dort lag ein zweites Image rum.
Seit dem gibt es keine Löcher im PNG :-D

Prima Tipp!

Vielen Dank & Gruß
Jazzman


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 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