jpg beim upload mit copyright bestücken?

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

  • jpg beim upload mit copyright bestücken?

    Hallo,
    ich habe eine Galerie wo man Fotos hochladen kann, nur habe ich bisher den Copyright Hinweis manuell in Photoshop auf das Fotos gemacht. Jetzt möchte ich gerne das beim Upload direkt auf das Foto ein Text (Copyright Hinweis) drauf kommt (also der richtig auf dem Bild drauf ist). Der Text kann ruhig immer an der gleichen Stelle sein.
    Kann mir da jemand ein wenig Starthilfe geben, weil hab mich mit sowas noch garnicht beschäftigt. Wäre nett.

    Gruß,
    Manuel

  • #2
    Hast du schon mal die Forensuche zum Thema "Wasserzeichen" benutzt?

    Oder hier ein bisschen stöbern: http://www.php.net/manual/de/ref.image.php Da sind auch gute Beispiele.

    Kommentar


    • #3
      Ok danke,
      folgender Code ausm Forum konnte mir weiterhelfen, diesen kann ich auch nachvollziehen:

      PHP-Code:
      Header("Content-type: image/jpeg");

      $im imagecreatefromjpeg("images/$bild . ".jpg");
      $string = "$bild Schriftzug";
      $schrift_groesse = 14;
      $left = 9;
      $top = (imagesy($im)-20);
      $bg_color = ImageColorAllocate($im, 255, 255, 255);
      $schrift_color = ImageColorAllocate($im, 255, 255, 255);
      ImageString(
      $im,$schrift_groesse,$left,$top,$string,$schrift_color);
      ImageJpeg(
      $im);
      ImageDestroy(
      $im); 
      Nur möchte ich jetzt gerne 2 Texte in dem Bild haben und nicht nur einen (will die Texte leicht versetzt übereinenader legen). Hab das schon probiert in dem ich das imagestring 2mal mache, aber habe mir schon gedacht das es nicht geht, da ignoriert der das erste imagestring.
      kann mir da jemand weiterhelfen?

      Kommentar


      • #4
        Original geschrieben von manuelone
        Hab das schon probiert in dem ich das imagestring 2mal mache, aber habe mir schon gedacht das es nicht geht, da ignoriert der das erste imagestring.
        das glaube ich nicht.

        ich vermute eher, dass das zweite imagestring seinen text mit hintergrundfarbe ausgibt - und die überklatscht dann den ersten.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          aha...
          und wie mache ich das der erste nicht überklascht wird oder halt der hintergrund tranzparent ist?

          Kommentar


          • #6
            ich würde für die bg-farbe imagecolorallocatealpha() probieren.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Guck mal in den Code-Schnipseln und zwar unter "File & Image upload". Da kannst du ganz einfach ein Wasserzeichen in Dein Bild einfügen lassen. So kannst du den Schriftzug einfach in ein *.png schreiben und PHP kopiert das ganze dann automatisch beim hochladen in das Bild.
              [COLOR=#9C5245]Internet-Explorer[/COLOR] [COLOR=#334D7B]User und stolz drauf! :P[/COLOR]

              Kommentar


              • #8
                PHP-Code:
                <?php
                Header
                ("Content-type: image/jpeg");

                $im imagecreatefromjpeg("bild.jpg");
                $string "copyright";
                $schrift_groesse 11;
                $left 9;
                $left2 11;
                $top = (imagesy($im)-20);
                $bg_color imagecolorallocatealpha($im);
                $schrift_color imagecolorallocate($im000);
                $schrift_color2 imagecolorallocate($im255255255);
                imagestring($im,$schrift_groesse,$left,$top,$string,$schrift_color);
                imagestring($im,$schrift_groesse,$left2,$top,$string,$schrift_color2);
                imagejpeg($im);
                imagedestroy($im);
                ?>
                Fehlermeldung:
                Die Grafik "http://domain.de" kann nicht angezeigt werden, weil sie Fehler enthält.

                Also so gehts net....

                Kommentar


                • #9
                  Original geschrieben von manuelone
                  Fehlermeldung:
                  Die Grafik "http://domain.de" kann nicht angezeigt werden, weil sie Fehler enthält.

                  Also so gehts net....
                  glückwunsch, du hast den blick ins manual, um zu sehen wie man eine funktion richtig aufruft, wieder mal erfolgreich vermieden.

                  (allerdings habe ich unter den umständen keine lust mehr, mich weiter damit zu befassen. dann halte dich lieber an eRoZions vorschlag.)
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    wie auch immer so gehts jetzt:

                    PHP-Code:
                    <?php
                    Header
                    ("Content-type: image/jpeg");

                    $im imagecreatefromjpeg("bild.jpg");
                    $string "copyright scid-artdesign.de";
                    $schrift_groesse 3;
                    $left 9;
                    $left2 8;
                    $top = (imagesy($im)-20);
                    $top2 = (imagesy($im)-21);
                    $bg_color imagecolorallocate($im255255255);
                    $schrift_color imagecolorallocate($im000);
                    $schrift_color2 imagecolorallocate($im255255255);
                    imagestring($im,$schrift_groesse,$left,$top,$string,$schrift_color);
                    imagestring($im,$schrift_groesse,$left2,$top2,$string,$schrift_color2);
                    imagejpeg($im);
                    imagedestroy($im);
                    ?>
                    Danke an alle die mir geholfen haben.

                    Gruß,
                    Manuel

                    Kommentar


                    • #11
                      Hab da doch noch nen Problem und zwar folgendes, bisher sieht die Funktion ja folgendermassen aus:
                      ImageJpeg($im);

                      Jetzt möchte ich aber das das Bild "bild.jpg" mit dem neuen Bild überschrieben wird und da hab ich das so verändert:
                      ImageJpeg($im, "bild.jpg");

                      So soll es nach selfphp.de funktunieren, tut es aber nicht. Woran liegt das?

                      Und wie mache ich das das alte Bild nur überschrieben wird und das Bild nicht angezeigt wird?

                      Kommentar


                      • #12
                        Original geschrieben von manuelone

                        So soll es nach selfphp.de funktunieren, tut es aber nicht. Woran liegt das?

                        Und wie mache ich das das alte Bild nur überschrieben wird und das Bild nicht angezeigt wird?
                        "sollte funktionieren" -> Jop!

                        "Und wie mache ich das das alte Bild nur überschrieben wird" -> eigentlich so wie du es geschrieben hast

                        Fehlermeldung? Hast du die Pfade richtig angegeben? Also sind scriptpfad und gewünschter bildpfad gleich?

                        Kannst es auch mal mit imagejpeg statt ImageJpeg() probieren...

                        Kommentar


                        • #13
                          wo muss ich den code einfügen?!

                          benutze phpBB 2.0.15 und Photo Album Addon 2.0.53

                          Kommentar


                          • #14
                            Original geschrieben von matz0r
                            "sollte funktionieren" -> Jop!

                            "Und wie mache ich das das alte Bild nur überschrieben wird" -> eigentlich so wie du es geschrieben hast

                            Fehlermeldung? Hast du die Pfade richtig angegeben? Also sind scriptpfad und gewünschter bildpfad gleich?

                            Kannst es auch mal mit imagejpeg statt ImageJpeg() probieren...
                            Wenn ich es so mache:
                            imagejpeg($im);
                            geht das Script aber das alte Bild wird nicht überschrieben.

                            Wenn ich es so mache:
                            imagejpeg($im, "bild.jpg");
                            geht das Script nicht (Fehlermeldung: Die Grafik "http://domain.de" kann nicht angezeigt werden, weil sie Fehler enthält.) und das alte bild wird auch nicht überschrieben.


                            Woran lliegt das?

                            Kommentar


                            • #15
                              Original geschrieben von manuelone
                              Fehlermeldung: Die Grafik "http://domain.de" kann nicht angezeigt werden, weil sie Fehler enthält.
                              ziemlich sicher ein fehler im script, der dann eine meldung von PHP erzeugt - und damit enthält das "bild" dann natürlich keine bilddaten mehr.

                              also, ggf. vorkommenden content-type-header mal weglassen, oder bei direkter speicherung auf der festplatte die datei mal mit einem texteditor anschauen, welche meldungen darin stehen.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X