Image teilweise transparent malen
Übersicht

stepuhBetreff: Image teilweise transparent malen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe folgendes vor und möchte wissen, ob es überhaupt geht: Wenn ich ein Bild zeichne (in meinem Fall ein tile) dann möchte ich jedes mal unterschiedliche Bereiche davon transparent malen können. Dh. also: einmal möchte ich eine Ecke transparent haben, danach in der Mitte und später eine andere Ecke. eine entsprechende Funktion sollte so aussehen können: Code: drawTransparentImage(image, transparentStartX, transparentStartY, transparentWidth,transparentHeight) Nun möchte ich aber nicht jedes mal wenn ich male eine pixmap erstellen und dort 'schnell' die transparenten Bereichere reinmalen. Ich meine, dass das nur recht langsam ginge und nicht laufzeittauglich wäre. Oder irre ich mich hier und pixmap malen ist doch schnell genug? Gibt es evtl. eine Alternative? Beispielsweise hatte ich folgende Idee: Ich nehme eine art Heightmap zur hilfe - nur dass die Graustufen hier für die Transparenzwerte stehen. Gibt es eine Möglichkeit, soetwas umzusetzen? Danke stepuh |
||
http://www.web13.shells24.de/banner.png |
![]() |
Lord Stweccys |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am einfachsten wäre das in OpenGL umzusetzen mit der glColor4_ Befehlsreihe,
dazu musst du allerdings mit einem OpenGl-Max2d- oder nur einem OpenGl-Treiber arbeiten. |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest, wenn es dir nur um rechteckige Bereiche geht, auch DrawImageRect zusammen mit SetAlpha nutzen.
Ansonsten könntest du, wenn du nicht zu viele Alphamaps hast, für jede Alphamap+Bild-Kombination einmal ein Bild generieren und das dann nutzen. (Das lässt sich so weit optimieren, dass nur die benötigten Kombinationen gespeichert werden.) Außerdem fällt mir eine Möglichkeit ein, wie man so etwas mit Shadern machen könnte, wenn du unbedingt auf getrennte Alphamaps bestehst. (Max2D stellt aber keine eingebaute Möglichkeit dazu zur Verfügung. -> umständliche Lösung) mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
stepuh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nun eigentlich ging es mir darum, in max2d folgendes zu simulieren:
in b3d kann ich eine fläche, bestehend aus vielen vertices, erstellen und eine texture drüber ziehen. setze ich nun die alpha-werte einiger vertices herunter, bekommt die fläche dort ein "transparentes loch". |
||
http://www.web13.shells24.de/banner.png |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group