Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Transparenz in TImage (https://www.delphipraxis.net/55969-transparenz-timage.html)

Grobie 29. Okt 2005 20:09


Transparenz in TImage
 
Hi,

schon wieder nen Thema zu TImage. ja, ich habe gegoogelt, aber bin mir irgendwie unschlüssig. ich will lauter sechsecke mit unterschiedlichem inhalt nebeneinander darstellen. wie ne bienenwabe quasi. da grafiken nun mal 4eckig sind, müssen die ekcen transparent sein. ich könnte für jedes sechseck ein eigenes TImage nehmen, das funktioniert auch, ich frage mich nur ob man nicht alle sechsecke in ein TImage packen könnte, würde doch ressourcen sparen. Habe diesbezüglich auch schon öfters Meinungen gelesen, die genau das forderten. Geht das irgendwie? Oder muss ich eine andere zeichenfläche nehmen? bin blutiger anfänger. danke für die hilfe.

Grobie

Khabarakh 29. Okt 2005 20:25

Re: Transparenz in TImage
 
Zitat:

Zitat von Grobie
[...], ich frage mich nur ob man nicht alle sechsecke in ein TImage packen könnte, würde doch ressourcen sparen. Habe diesbezüglich auch schon öfters Meinungen gelesen, die genau das forderten.

Genau so ist es richtig. Allerdings erkenne ich das Problem dabei nicht *g*. Male einfach per Polygon munter drauf los, überdeckt werden sollte da nichts.
Oder liegen die Sechsecke schon als Bitmap und eine Transparenzfarbe ("Color-Key-Transparenz") vor? Dann kannst du dir eine eigene Blending-Routine basteln oder (wahrscheinlich etwas einfacher :zwinker: ) MSDN-Library durchsuchenTransparentBltbenutzen.
Zitat:

Oder muss ich eine andere zeichenfläche nehmen?
Allgemein kann ich als Canvas-Ersatz die GR32-Lib empfehlen (besonders bei Transparenzen), hier sollte aber die API-Funktion genügen.

Grobie 29. Okt 2005 20:51

Re: Transparenz in TImage
 
aso ja sorry, die sechsecke liegen schon in dateien vor. andere Bibliotheken will ich ungern benutzen, da das nen schulprojekt ist und wir an dem installierten delphi nix ändern dürfen... aber danke erstmal, ich gucke mir das mal an.

Grobie

SirThornberry 29. Okt 2005 21:39

Re: Transparenz in TImage
 
Komponenten müssen nicht viereckig sein. Pack die Bilder einfach auf ein Panel und erstelle mit CreatePolygonRgn eine Region die Sechseckig ist. Mit SetWindowRgn kannst du diese Region dann auf das Panel anwenden und schon ist es sechseckig

Khabarakh 29. Okt 2005 21:50

Re: Transparenz in TImage
 
Mit mehreren Komponenten hat er das Problem ja schon gelöst (ich denke mal per TImage.Transparent), nun will er alle Bilder auf ein einziges Image bringen. Wäre aber eine gute Lösung für den ersten Teil gewesen.

Grobie 30. Okt 2005 01:03

Re: Transparenz in TImage
 
ja, danke. es funktioniert alles. nur tut sich nun ein neues Problem auf: wenn ich die transparent der einzelnen bitmaps auf true stelle, sind die bilder untereinander transparent, allerdings nicht zum darunterliegenden form. wenn ich es austelle (und für das ganze image die tranzparenz an ist) sind die bilder zum form transparent. wie bekomme ich es hin, dass die bilder sowohl untereinander als auch zum form transparent sind?

danke
Grobie


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