Bild hochladen und Text am Rand

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

  • Bild hochladen und Text am Rand

    Ich habe ein Problem. Habe ein Bilderupload Schnipsel der mir ein Bild auf den Server lädt... Wie kann man einen Text am Bild beim uploaden einfügen so wie hier:

    http://www.bigcitybeats.de/data/pict.../36/325762.jpg


    Code:
    PHP-Code:
    // Upload
    $path="$serverpfad/images/";
    $config_width="600"
    $config_height="600";
    $resizequality="80";
    $_upload=$path;
    $_time=time();
    $datstamp=date("dmy");
    if(
    $_FILES['file']['name']){
    $_rand=@rand(0,99);
    if (
    $_FILES['file']['name']){
    $getimagesize[$i]=@getimagesize($_FILES['file']['tmp_name']);
    if(
    $getimagesize[$i]['mime']=="image/jpeg" || $getimagesize[$i]['mime']=="image/png"){
    $nfname="$datstamp-" $_time*$_rand;
    $art=substr($_FILES['file']['name'],-3);
    if(
    $art=="peg"||$art=="PEG"){
    $art="jpeg";
    }
    $pic_filename=$nfname.".".$art;
    $newimage=$_upload.$pic_filename;
    if(@
    move_uploaded_file($_FILES["file"]["tmp_name"], $newimage)){} else {
    @
    copy($_FILES["file"]["tmp_name"], $newimage);
    }
    if(
    $art=="jpg"||$art=="JPG"||$art=="jpeg"||$art=="JPEG"){
    $im imagecreatefromjpeg$newimage );
    }
    elseif(
    $art=="png"||$art=="PNG"){
    $im imagecreatefrompng$newimage );
    }elseif (
    $art=="gif"||$art=="GIF"){
    $im imagecreatefromgif($newimage);
    }
    $mw $config_width// max width
    $mh $config_height// max height
    $ow imagesx$im );
    $oh imagesy$im );
    if( 
    $ow $mw || $oh $mh ){
    if( 
    $ow $oh ){
    $tnw $mw;
    $tnh $tnw $oh $ow;
    } else {
    $tnh $mh;
    $tnw $tnh $ow $oh;
    }
    } else {
    $tnw $ow;
    $tnh $oh;
    }
    $imtn imagecreatetruecolor$tnw$tnh );
    $originaltransparentcolor imagecolortransparent$im );
    if(
    $originaltransparentcolor >= // -1 for opaque image
    && $originaltransparentcolor imagecolorstotal$im )
    ) {
    $transparentcolor imagecolorsforindex$im$originaltransparentcolor );
    $newtransparentcolor imagecolorallocate(
    $imtn,
    $transparentcolor['red'],
    $transparentcolor['green'],
    $transparentcolor['blue']
    );
    imagefill$imtn00$newtransparentcolor );
    imagecolortransparent$imtn$newtransparentcolor );
    }
    imagecopyresized$imtn$im0000$tnw$tnh$ow$oh );
    if(
    $art=="jpg"||$art=="JPG"||$art=="jpeg"||$art=="JPEG")
    {
    imagejpeg$imtn$newimage );
    }
    elseif(
    $art="png"||$art=="PNG")
    {
    imagepng$imtn$newimage );
    }elseif (
    $art=="gif"||$art=="GIF"){
    imagegif($imtn,$newimage);
    }
    imagedestroy$im );
    imagedestroy$imtn );
    }}} 

  • #2
    Hallo,

    PHP: imagettftext - Manual
    PHP: imagettfbbox - Manual
    Warum imagettfbbox nichts taugt

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Soweit bin ich jetzt. Bild aus vorhandenem öffnen und ein text an den rand bringen aber wie speicher ich das bild als datei ab? das klappt so irgendwie nicht

      PHP-Code:
      <?
      $image=imagecreatefromjpeg("haus1.jpg");
      $font_c=imagecolorallocate($image,255,255,255);
      imagettftext($image,10,90,20,150,$font_c,"$serverpfad/images/fonts/ariali.ttf","Beispieltext");
      imagejpeg($image, "simpletext.jpg");
      imagedestroy($image);
      ?>

      Kommentar


      • #4
        Liegt bei dir keine simpletext.jpg im Arbeitsverzeichnis? Wie sieht dein Error-Reporting aus?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          bitte wähle einen Pfad zum Schreiben des Bildes, wo dein www-user auch Schreibrechte hat - das muss nicht notwendigerweise der Arbeitspfad sein - zur Not musst du dir erst ein Verzeichnis entsprechend einrichten, dass dort Schreibrechte vorhanden sind ...
          [font=Verdana]
          Wer LESEN kann, ist klar im Vorteil!
          [/font]

          Kommentar


          • #6
            So habs hinbekommen jetzt speichert ers schoonaml schreibberechtigung war nicht 777 ...

            Hast du einen Tipp für mich wo ich das im original code einbauen muss?

            Kommentar


            • #7
              ich würds "da unten" einbauen im letzten drittel deines Codes , direkt bevor du

              mit [COLOR=#000000][COLOR=#0000CC]imagejpeg[/COLOR][COLOR=#006600]( [/COLOR][COLOR=#0000CC]$imtn[/COLOR][COLOR=#006600], [/COLOR][COLOR=#0000CC]$newimage [/COLOR][COLOR=#006600]);
              bzw imagepng ... (Im if / Else)

              die Bilder speicherst
              [/COLOR][/COLOR]
              [font=Verdana]
              Wer LESEN kann, ist klar im Vorteil!
              [/font]

              Kommentar


              • #8
                Werde ich probieren vorher brauch ich noch HIlfe bei folgendem:

                Ich möchte das der Text immer wie hier:
                http://www.bigcitybeats.de/data/pict.../47/325773.jpg

                immer unten links beginnt mit vllt 5px abstand von unten und links ...

                Bei mir sieht es mit diesem Code so aus: Wie müsste der Code lauten für den imagettftext befehl?


                So soll es aussehen (habs in Photoshop bearbeitet damit ihr es euch vorstellen könnt)


                PHP-Code:

                // Bild generieren mit Text
                $image=imagecreatefromjpeg("haus1.jpg");
                $font_c=imagecolorallocate($image,255,255,255);
                imagettftext($image,10,90,20,150,$font_c,"$serverpfad/images/fonts/ariali.ttf","Text....");
                // Das Bild als 'simpletext.jpg' speichern
                imagejpeg($image"./images/simpletext.jpg");
                // Den Speicher freigeben
                imagedestroy($image); 
                Zuletzt geändert von Hendrik33; 01.11.2010, 12:16.

                Kommentar


                • #9
                  Dann musst du die y-Koordinate ausgehend von imagesy() berechnen
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar

                  Lädt...
                  X