Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra] Alphawert aus Pixel von TImageSprite auslesen (https://www.delphipraxis.net/135479-%5Bandorra%5D-alphawert-aus-pixel-von-timagesprite-auslesen.html)

Spiderpig_GER_15 11. Jun 2009 15:10


[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

igel457 11. Jun 2009 15:45

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.

Spiderpig_GER_15 11. Jun 2009 15:59

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:
if TImages.canvas.pixel[x,y].alpha = 255 then
begin
...
end;
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?

MfG Spiderpig

igel457 11. Jun 2009 16:30

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 10:48 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