| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

19-02-2010, 15:39
|
|
uetzelbruetz
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 3
|
|
hg + transparez = transparent!?
hi,
ich habe eine problem mit der gdlib und transparenzen.
ich habe einen button-hintergrund, auf den mehrere motive aufgebügelt werden sollen. diese motive sind daher freigestellt und als alpha32-pngs gespeichert.
lege ich die mithilfe von imagemerge auf den btnHG, der ein jpg ist ist alles wunderbar. ist der HG aber selbst ein png - für einen weichen rand mit transparenz - dann gibts probleme. dann löscht die transparenz des motivs den eigentlich farbigen hintergrund des buttons. mein ergebnis-png hat also außen den transparenten rahmen - wie gewünscht - und innendrin die transparenz aus dem alten motiv-png. der hintergrund, den die buttonvorlage an den stellen hatte ist einfach durchsichtig geworden.
wie kann ich das verhindern??
besten dank
üb
|

19-02-2010, 15:42
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
ich vermute mal, du hast für das Zielbild kein Alpha-Blending gesetzt.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-02-2010, 16:16
|
|
uetzelbruetz
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 3
|
|
aber das muß doch
aber wenn ich das nicht setze hab ich doch auich nicht den trnsparenten rand des button-bildes... und den möchte ich ja haben...
kann man das denn für jede "ebene" des mergens einzeln de/aktivieren?
üb
|

19-02-2010, 16:20
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von uetzelbruetz
aber wenn ich das nicht setze hab ich doch auich nicht den trnsparenten rand des button-bildes... und den möchte ich ja haben...
|
Warum solltest du den dann nicht haben? Das Button-Bild lädtst du doch sicher direkt aus einem PNG. Für dieses Bild setzt du dann Alpha-Blending auf true und mergest das andere drüber.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-02-2010, 18:10
|
|
uetzelbruetz
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 3
|
|
ist so
weil leut php net dann ein opakes bild entsteht:
imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.
und das ist was ich kriege. schalt ich auf true ahb ich ein schwarzes bild (wenn ich keine farbe angebe) auf dem mein button mit alpha-rand liegt ("the resulting pixel ist opaque") und schalt ich auf false, hab ich zuätzlich zum gewollten alpha-rand halt auch den alpha-hintergrund des motivs ("replacing the destination pixel").
ist das so selten, was ich da machen will? oder wo ist meine denkblockade??
gruß
üb
|

19-02-2010, 18:24
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Das mit dem schwarzen Bild ist prinzipiell richtig. Das Schwarz bekommst du weg, wenn du dann noch savealpha() auf true stellst, bevor du es ausgibst/speicherst.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|