Announcement

Collapse
No announcement yet.

imagecopy transparent ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • imagecopy transparent ?

    Hi

    ich habe mehrere PNG Bilder mit transparentem Hintergrund (Beispielsweise um 45° gedrehte Quadrate). Wenn ich diese mittels imagecopy in ein neues Bild Kopiere, und so beispielsweise ein um 45° gedrehtes Schachbrett zusammensetzten möchte, werden die eigentlich transparenten Teile Weiss und überlappen die anderen Bildelemente teilweise. Wie kann ich das verhindern?

    thx

    Lucaro
    Computer erleichtern die Arbeit - und die Erde ist eine Scheibe

  • #2
    Hallo Lucaro,

    für das Neue Bild mußt du eine Farbe als transparent festlegen. Sieh dir mal im PHP-Handbuch die Funktion ImageColorTransparent() und die zugehörigen Beispiele an, evtl. hilft dir das schon weiter.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hi

      Sorry wegen der späten Rückmeldung, anscheinend hat die emailbenachrichtigung nicht funktioniert...

      Ich hab es vorher schon mit imagecolortransparent versucht, es hat aber nicht funktioniert!

      Ich hab hier mal was gebastelt um das problem zu verdeutlichen:

      http://tests.lucaro.ch/imgcopy_test/

      was ist an diesen beiden listings falsch?

      thx Lucaro
      Computer erleichtern die Arbeit - und die Erde ist eine Scheibe

      Comment


      • #4
        Hallo Lucaro,

        verwende statt imagecopy() die funktion imagecopymerge(), dann sollte es funktionieren. Folgendes habe ich erfolgreich getestet:
        PHP Code:
        <?
        $hintergrund = imagecreatefrompng('hintergrund.png');
        $vordergrund = imagecreatefrompng('vordergrund.png');

        imagecolortransparent($vordergrund, imagecolorallocate($vordergrund, 255, 0, 255));
        //imagecolortransparent($hintergrund, imagecolorallocate($hintergrund, 255, 0, 255));
        imagecopymerge($hintergrund, $vordergrund, 200, 200, 0, 0, 200, 200, 100);

        header("Content-type: image/png");
        imagepng($hintergrund);
        imagedestroy($hintergrund);
        imagedestroy($vordergrund);
        ?>
        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          thx

          hat mir sehr geholfen
          Computer erleichtern die Arbeit - und die Erde ist eine Scheibe

          Comment

          Working...
          X