![]() |
GDI Plus und Masken
Jemand erfahrung wie ich zwei Bilder mit GDIplus kombinieren kann um letztendlich ein
Bild zu bekommen wo die Tranzparenz ausgeschnitten ist? Mein problem. Habe eine Klaviertaste erstellt. Diese wird auch gut angezeigt das problem ist nur das diese alle meine Halbtontasten überlagern. Diese transparenz muss ich nun wegschneiden. Es reicht nicht den Bereich nur Tranzparent zu machen denn beim klick auf dem Bild im Bereich der Transparenz wird das klickevent ausgeführt. gruss |
AW: GDI Plus und Masken
Ich fürchte ich habe noch nicht verstanden wie das OnClick und die Transparenzen bei Dir zusammenhängen ? Eigene Graphiccontrols pro Taste?
1.) Regions 2.) oder Volltransparenz (Sinn hängt von der Implemetierung ab) 3.) Alles in einem (Graphic)control abfackeln und die Clicks über einen Record/Array/Liste was auch immmer verteilen 4.) Die Halbtöne zum Schluß, onTop in der benötigten Größe anordnen(sinnhaftigkeit hängt von der Implementierung ab ) |
AW: GDI Plus und Masken
Zitat:
Wenn ich nun auf diese Taste klicke nachdem ich das Bild der halbtontaste eingeladen habe.. dann wird die Halbtontaste mit dem tranparenten Hintergrund der Weißen Taste überlagert. Beide Bilder sind als Button ausgelegt und in der reihenfolge der ZOrder korrekt. Trotzdem überlagert die weiße Taste im Transparenten bereich die Halbtontaste. Dieser Bereich soll nun wie oben gezeigt mit einer Monomaske ausgeschnitten werden. Nur wie? Hab im Netzt nichts gefunden was mir nur annährend weiterhilft. hab ein Bild.. erstellt gruss |
AW: GDI Plus und Masken
Ich vermute das Prinzip ist das gleiche wie bei der GDI-Uhr, dann werden die Alphakanäle hier kombiniert, der Transparente Teil bleibt nach der Addition bestehen. Somit würde ich beim malen entweder die die weißen Tasten clippen, oder den Transparenten Teil der weißen Tasten mit Alpha 255 und RGB=000000 malen, damit sollte der transperente Anteil der schwarzen Tasten nur von diesen kommen....
|
AW: GDI Plus und Masken
Zitat:
welche über BitBlt und SYRCOPY/SCRAND usw... Der Transparente bereich aus dem Bild ausgeschnitten wird. Meine Idee ist halt das dies einfacher ist. Denn ich habe nicht nur ein Bild sondern 2 und zwar rechts und links jeder schwarzen Taste. Das macht es so schwierig. Zitat:
EDIT: Ups da ist ja keins .. dann hier. gruss |
AW: GDI Plus und Masken
Wie Du den Aplhavalue auf 255 bekommst liegt ja bei Dir, der einfachste Weg wäre IMHO die weißen Tasten entsprechend vorzubereiten......
|
AW: GDI Plus und Masken
Zitat:
Ich glaube wir reden aneinander vorbei. Siehe Bild! Ich habe das Bild jetzt mit dem Hintergrund kombiniert. Der Bereich der vorher Transparent war ist nun weiss Was ich möchte ist diesen auszuschneiden so das er nicht Transparent ist sondern einfach nicht vorhanden Quasi eine art (Region). Das wollte ich mit der Maske realisieren. Habe aber noch keine Möglichkeit gefunden das mit PNG's zu verwirklichen. EDIT: Es gibt doch die möglichkeit irregionale Button zu restellen und was ich habe ist nichts anderes als ein Button. gruss |
AW: GDI Plus und Masken
Ich denke wir reden wirklich aneinander vorbei
ich denke die weissen Tasten sahen vorher im Alphakanal ähnlich aus wie aus untern AA AA 00 AA AA 00 AA AA 00 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA mein Vorschlag wäre gewesen sie derart zu gestalten AA AA FF AA AA FF AA AA FF AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA IMHO ist der Ansatz mit den Buttons ebenfalls nicht optimal gewählt, ich würde alles über ein Graphiccontrol abfackeln, dessen Canvas mit Offset auf Dein Offscreenbitmap verbogen wird, die Tastenerkennung über PointInRegion einer(s) List/Array of Regions . |
AW: GDI Plus und Masken
Ich habe eine lösung gefunden.
Ohne irgendetwas am Code zu verändern. Danke für dein Interesse.. an meiner Frage. gruss |
AW: GDI Plus und Masken
Und wie lautet die Lösung? Würd mich auch interessieren...
mfg Florian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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