hg + transparez = transparent!?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    Hallo,

    ich vermute mal, du hast für das Zielbild kein Alpha-Blending gesetzt.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #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

      Kommentar


      • #4
        Zitat von uetzelbruetz Beitrag anzeigen
        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.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          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 [COLOR=#0000ff]imagesetpixel()[/COLOR] 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. [COLOR=black]The resulting pixel is opaque[/COLOR]. 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

          Kommentar


          • #6
            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.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X