Ankündigung

Einklappen
Keine Ankündigung bisher.

[GDLib] Alphatransparenz?

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [GDLib] Alphatransparenz?

    Hey Community.

    Ich arbeite gerade an einem Programm, das verschiedene Teile aus einem Bild zusammensetzen und das Ergebnis anschließend anzeigen soll. Dazu habe ich folgenden Code geschrieben:
    PHP-Code:
    <?php
        $skin_file 
    "testskin.png";
        
    header("Content-type: image/png");
        
    $skin imagecreatefrompng($skin_file);
        
    $image imagecreatetruecolor(9696);
        
    imagealphablending($imagefalse);
        
    imagesavealpha($imagetrue);
        
    $color_background imagecolorallocatealpha($image255255255127);
        
    imagefill($image00$color_background);
        
    imagecopy($image$skin00009696);
        
    imagecopy($image$skin323219203232);
        
    imagepng($image);
    ?>
    Das Problem ist nur, dass dabei anscheinend die Transparenz verloren geht.
    Das Ganze sieht dann so aus: (siehe Anhang)
    Der weiße Rand sollte nicht vorhanden sein.
    imagecolortransparent() kann ich anscheinend nicht verwenden, da diese Funktion nur für eine Farbe gilt.
    Google habe ich natürlich schon verwendet, nur leider bin ich auf keine funktionierende Lösung gestoßen.
    Angehängte Dateien


  • #2
    Schau dir mal die Funktion imagecopymerge an.
    The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.
    Wahlweise kannst du hier mal schaun ob du was findest:

    PHP GDlib, Seite 1
    Fynder - http://www.fynder.de - Tutorials zum Thema Technik

    Kommentar


    • #3
      Hey Andreas.

      Danke für die schnelle Antwort.
      Wenn ich diese Funktion verwende, dann werden dicke, schwarze Ränder um beide Teile des Bildes gezeichnet. Im letzten Parameter habe ich 100 angegeben.

      Kommentar


      • #4
        Die Frage hab ich heut aber schon mal woanders gesehen...

        Gruß Jens

        Kommentar


        • #5
          Na wunderbar.

          Bitte beachten: Anmerkungen zu Crosspostings

          [MOD: Thread geschlossen]
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar

          Lädt...
          X