![]() |
[Andorra] Alphawert aus Pixel von TImageSprite auslesen
Hallo,
ich scheitere an folgendem: Ich möchte den Alpha-Wert eines Pixels aus dem Bild eines TImageSprite auslesen. Kann mir jemand dabei helfen? (Grund dafür ist, dass ich kontrollieren muss welches Sprite angeklickt wurde, da Transparenz soweit ich das gemerkt habe, nicht berücksichtigt wird.) MfG Spiderpig |
Re: [Andorra] Alphawert aus Pixel von TImageSprite auslesen
Hallo,
ich würde jedem Sprite eine Kollisionsmap (also meinetwegen ein "2D-Array of Boolean") geben, dass die transparenten Pixel enthält. Hierzu würde ich den Setter von TImageSprite.Image überschreiben und bei jeder Zuweisung die Textur in ein TAdBitmap speichern (Image.Texture.Texture.SaveToBitmap, vorher im TAdBitmap den entsprechenden Speicher reservieren) und über TAdBitmap.Pixels/Scanline die Kollisionsmap füllen. |
Re: [Andorra] Alphawert aus Pixel von TImageSprite auslesen
hmm, das klingt mir zu aufwändig,
ich hatte vermutet das es vielleicht sowas gäbe wie bei "normalen"
Delphi-Quellcode:
ist das nicht möglich? Einfach bei einem TadImage (so heißt doch das Imageformat einer ImageSprite?) die Farbwerte für ein bestimmtes Pixel auszulesen?
if TImages.canvas.pixel[x,y].alpha = 255 then
begin ... end; MfG Spiderpig |
Re: [Andorra] Alphawert aus Pixel von TImageSprite auslesen
Das geht nicht so einfach, da die TAdImages im Grafikspeicher liegen und dieser nicht so einfach auszulesen ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 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