Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Transparentes Bild

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Transparentes Bild

    Hallo,

    ich wollte mal fragen, wie ich mit php ein transparentes bild (png) auf ein anderes kopieren kann ...
    PHP-Code:
    header('Content-Type: image/jpeg'true);
    $img imagecreatetruecolor($IMG_WIDTH$IMG_HEIGHT);

    $col imagecolorallocate($img255255255);
    imagefill($img00$col);

    $src imagecreatefromjpeg('bild.jpg');            
    imagecopymerge($img$src0000500332100);

    $src imagecreatefrompng('ag.png');            
    imagecopymerge($img$src100001626100);

    imagejpeg($img); 
    imagedestroy($img); 

    Leider wird das Bild ag.png mit einem weißen hintergrund draufkopiert ...

    Was amche ich falsch?


  • #2
    du mischt hier ja auch jpg und png, insbesondere bei der Ausgabe

    jpg kann keine transparenz

    Kommentar


    • #3
      ja ich will ja auch nicht, dass das bild hinterher transparent ist, sondern dass da wo in dem ag.png transparenz ist, dass untere bild durchschimmert

      Kommentar


      • #4
        Zitat von luks2com Beitrag anzeigen
        ja ich will ja auch nicht, dass das bild hinterher transparent ist, sondern dass da wo in dem ag.png transparenz ist, dass untere bild durchschimmert
        Dann musst du zunächst aus dem JPG ein PNG amchen damit Quelle und Ziel die Transparenz verarbeiten können und danach in JPG umwandeln.
        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

        Kommentar


        • #5
          der hinweis dazu steht netterweise auf einer anderen Seite im Manual: PHP: imagecolortransparent - Manual

          Transparency is copied only with imagecopymerge() and true color images, not with imagecopy() or pallete images.

          Kommentar


          • #6
            So jetzt siehts so aus:
            PHP-Code:
            header('Content-Type: image/png'true);
            $img imagecreatetruecolor($IMG_WIDTH$IMG_HEIGHT);
            $col imagecolorallocate($img255255255);
            imagefill($img00$col);
            $src imagecreatefrompng('bild.png');            
            imagecopymerge($img$src0000500332100);

            $src imagecreatefrompng('ag.png');            
            imagecopymerge($img$src1010001626100);

            imagepng($img);
            imagedestroy($img); 
            Allerdings wird jetzt immernoch nicht der Transparente hintergrund von ag.png angezeigt

            Kommentar


            • #7
              Helfen die user notes zu PHP: imagecreatefrompng - Manual weiter?
              http://hallophp.de

              Kommentar

              Lädt...
              X