AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GDI Plus und Masken

Ein Thema von EWeiss · begonnen am 6. Mär 2011 · letzter Beitrag vom 6. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

GDI Plus und Masken

  Alt 6. Mär 2011, 08:34
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

Geändert von EWeiss ( 7. Mär 2011 um 00:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 08:56
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 )
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 09:07
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 )
Das erste bild ist bis auf die Tasten also der Hintergrund voll Transparent.
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

Geändert von EWeiss ( 7. Mär 2011 um 00:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 09:37
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....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 09:45
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....
JO denke ich auch nur so wollte ich es nicht machen sondern mit einer Maske
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:
damit sollte der transperente Anteil der schwarzen Tasten nur von diesen kommen....
Die haben keinen wenn du dir oben die Bilder anschaust das sind vollausgefüllte Rechtecke.
EDIT:
Ups da ist ja keins .. dann hier.

gruss

Geändert von EWeiss ( 7. Mär 2011 um 00:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 10:29
Wie Du den Aplhavalue auf 255 bekommst liegt ja bei Dir, der einfachste Weg wäre IMHO die weißen Tasten entsprechend vorzubereiten......
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 10:36
Wie Du den Aplhavalue auf 255 bekommst liegt ja bei Dir, der einfachste Weg wäre IMHO die weißen Tasten entsprechend vorzubereiten......
Hmm ..
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

Geändert von EWeiss ( 7. Mär 2011 um 00:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 10:51
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 .
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 10:59
Ich habe eine lösung gefunden.
Ohne irgendetwas am Code zu verändern.

Danke für dein Interesse.. an meiner Frage.

gruss
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#10

AW: GDI Plus und Masken

  Alt 6. Mär 2011, 13:28
Und wie lautet die Lösung? Würd mich auch interessieren...

mfg Florian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 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