Bildbearbeitung mit PHP

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

  • Bildbearbeitung mit PHP

    Nabend zusammen,

    bin gerade auf dem Trip mit PHP Bilder zu bearbeiten..
    Naja ich versuche Unsichtbare Wasserzeichen in ein Bild einzufügen.
    Vll kennen von euch viele bei Photoshop die Funktion dass man aus zwei ebenen die Differenz bildet (der unterschied jedes Pixels wird in verschiedenen Grautönen ausgegeben). Diese Funktion müsste ich auch irgendwie mit php realisieren. Ich lege zuerst ein schwarzes Gitter auf ein Bild dann möchte ich die Differenz aus diesen beiden "Ebenen" bilden. Ist sowas mit PHP möglich, und wenn wie?
    Kann ich z.B.: die Farbe jedes einzelnen Pixels abrufen? oder gibt es fertige funktionen?

    Komme an dem Problem leider nicht weiter. Vielleicht kann mir jemand helfen?

    Schöne grüße
    Smurfy

  • #2
    Re: Bildbearbeitung mit PHP

    http://www.php.net/manual/de/ref.image.php
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich denke, es müsste mit
      http://de3.php.net/manual/en/function.imagecolorat.php und
      http://de3.php.net/manual/en/function.imagesetpixel.php gehen.

      aber schau dich erst mal um - evtl. gibt es fertiges von phpclasses.org und google.

      Kommentar


      • #4
        Danke für eure schnelle Hilfe, hab mich mal an die Arbeit gemacht und ausprobiert ein Bild mit jedem Pixel einzeln zu kopieren.. Siehe Quelltext:
        PHP-Code:
        <?
        $img = imagecreatefromjpeg("booknr160.jpg");
        $img_neu=imagecreate(imagesx($img),imagesy($img));

        while($i<imagesx($img)*imagesy($img)) {
        $rgb= ImageColorAt($img, $x, $y);
        $r = ($rgb >> 16) & 0xFF;
        $g = ($rgb >> 8) & 0xFF;
        $b = $rgb & 0xFF;
        ImageColorAllocate($img_neu, $r,$g,$b);
        if ($color==255) { $color=0; }
        imagesetpixel ( $img_neu, $x, $y, $rgb );

            if($x==imagesx($img)) {
            $x=0;
            $y=$y+1;
            $i=$i+1;
            }
            else
            {
            $x=$x+1;
            $i=$i+1;
            }
        }
        imagejpeg($img, 'zielbild.jpg', $quali);  
        imagejpeg($img_neu, 'neu.jpg', $quali);  
        ?>
        <img src="zielbild.jpg" width="<? echo imagesx($img); ?>" height="<? echo imagesy($img); ?>" />
        <img src="neu.jpg" />
        Heraus kommt:



        ICh weiss nicht was falsch ist normal müsste er doch quasi eine kopie von dem Bild machen..

        Beste grüße Smurfy

        Kommentar


        • #5
          Probiere es mal mit imagecreatetruecolor statt imagecreate.
          hopka.net!

          Kommentar


          • #6
            Moin zusammen!
            danke für eure Antworten...

            auch wenns bisle lange gedauert hat, wollte ich euch noch mein kleines Script zeigen.

            zu finden unter:
            HIER

            Vielleicht ist es ganz Interessant. Auf das Bild wird ein Wasserzeichen gelegt, was nur Sichtbar wird wenn man das Bild im IE Markiert. Die oben gezeigte URL hat Beispielparameter, also zum testen kann man diese auch noch anpassen....

            So jetzt aber GN8 :-)

            Kommentar

            Lädt...
            X