VB-Homepage Tipp 284 |
Transparente Grafiken ohne API |
Fragen zu Thema "transparente Grafiken"
gehören wohl zu den am meisten gestellten, gerade von Einsteigern. Es geht also um die Möglichkeit, Grafiken in ihrer eigentlichen freien Form anzuzeigen und nicht in einem viereckigen Objekt eingefangen. Ab VB4 können Sie zum anzeigen solcher Grafiken sogar gänzlich VB eigene Mittel verwenden. Einschränkend muß ich aber gleich betonen, daß das zu Ungunsten der Geschwindigkeit ausfällt. Aber entscheiden Sie doch selbst, ob dies für Ihr Zwecke reicht. Ablauf 1. Ermitteln der Position und der Größe des Bereiches in dem die scheinbar transparente Grafik dargestellt werden soll. Dieser Bereich (der Hintergrund) wird in einen Zwischenspeicher kopiert. 2. Nun wird
aus dem darzustellenden Bild die transparente Farbe heraus gerechnet. Es wird eine Maske
erstellt, die die Grafik schon mit Ihren Kontoren zeigt, aber nur in schwarz/weiß. Alle
transparente Teile sind dabei weiß und alle anzuzeigen Teile schwarz. 3. Nun wird in den neu entstandenen Ausschnitts des Hintergrunds, das eigentliche Objekt eingefügt, dabei müssen alle transparent darzustellenden Teile schwarz sein. Dies erfolgt über die Funktion SRCPAINT. 4. Der so entstandene manipulierte Bildausschnitt (Hintergrund und Grafikobjekt) wird nun über den originalen Ausschnitt kopiert. Vielleicht können Sie jetzt besser nachvollziehen, warum
diese Prozedur einiges an Rechenzeit benötigt. |
Tipp-Download / Tool-Download |
Quelle : |