thumbnail erstellung... fehler bei code anpassung..

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

  • thumbnail erstellung... fehler bei code anpassung..

    Hallo,

    ich habe versucht das bestehende problem eines hier bekannten codeschnipsels zu lösen.

    Das problem ist wie folgt:
    das thumb hat immer nur eine maximale breite und nicht höhe, sprich ein 150x3000 bilder wird garnicht verkleinert (wenn die maximale breite auf 150 steht)

    ich habe versucht wie folgt das problem zu lösen, leider bin ich nochnet so der php profi habe aber versucht dies halbwes logisch anzugehen

    PHP-Code:
    if ($File_name && $error "0") {

    $dimensions 150//maximale dimension
    $PicPathIn="files/";  //pfad zum bild
    $PicPathOut="files/";  //upload verzeichniss der Bilder
    // Orginalbild 
    $pnk "$pn.jpg";

    // Bilddaten ermitteln 
    $size=getimagesize("$PicPathIn"."$pnk"); 
    $widht=$size[0]; 
    $bright=$size[1]; 

    if(
    $size[0] < $size[1]) 
       { 
    $n_widht=intval($widht*$n_bright/$bright); 
    $n_bright=$dimensions;
       }

    if(
    $size[0] > $size[1]) 
       { 
    $n_widht=$dimensions
    $n_bright=intval($bright*$n_widht/$widht); 
       }


    if(
    $size[2]==2) { 
    // jpg/jpeg
    $pic=imagecreatefromjpeg("$PicPathIn"."$pnk"); 
    $thumb=imagecreatetruecolor($n_widht,$n_bright); 
    imageCopyResized($thumb,$pic,0,0,0,0,$n_widht,$n_bright,$widht,$bright); 
    ImageJPEG($thumb,"$PicPathOut"."thumb_"."$pnk"); 

                                  } 
    sicherlich ist zu erkennen was ich versuche, leider tritt folgender fehler auf (WENN ich ein bild hochlade was höher als breiter ist):

    [COLOR=red]Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in S:\server\xampp\htdocs\pics\upload.php on line 83

    Warning: imagecopyresized(): supplied argument is not a valid Image resource in S:\server\xampp\htdocs\pics\upload.php on line 84

    Warning: imagejpeg(): supplied argument is not a valid Image resource in S:\server\xampp\htdocs\pics\upload.php on line 85[/COLOR]

    würde mich freuen wenn mir jemand einen denkanstoß geben könnte wie ich das problem löse.

    mfg
    DD
    ps.: jeder hat mal klein angefangen

  • #2
    lass dir $n_widht und $n_bright ausgeben. und mach E_ALL an - dann wirst du es sehen.

    Kommentar


    • #3
      mh ja bei höheren bilder ist $n_widht immer = 0
      kann dann wohl nicht gehen... weiß aber auchnicht wie ich das ändern muss...
      ps.: jeder hat mal klein angefangen

      Kommentar


      • #4
        PHP-Code:
        $n_widht=intval($widht*$n_bright/$bright); 
        überleg mal, welchen wert hat $n_bright zu diesem zeitpunkt?

        Kommentar


        • #5
          mh ja, habs grad au gefunden, geht natürlich nicht wenn der $n_bright erst danach bestimmt wird *hust*..
          geht jetzt

          danke !

          lösung falls für andere von interesse :

          PHP-Code:
          if ($File_name && $error "0") {

          $dimensions 150//maximale dimension
          $PicPathIn="files/";  //pfad zum bild
          $PicPathOut="files/";  //upload verzeichniss der Bilder
          // Orginalbild 
          $pnk "$pn.jpg";

          // Bilddaten ermitteln 
          $size=getimagesize("$PicPathIn"."$pnk"); 
          $widht=$size[0]; 
          $bright=$size[1]; 

          if(
          $size[0] < $size[1]) 
             { 
          $n_bright=$dimensions;
          $n_widht=intval($widht*$n_bright/$bright); 
             }
          else 
             { 
          $n_widht=$dimensions
          $n_bright=intval($bright*$n_widht/$widht); 
             }


          if(
          $size[2]==2) { 
          // jpg/jpeg
          $pic=imagecreatefromjpeg("$PicPathIn"."$pnk"); 
          $thumb=imagecreatetruecolor($n_widht,$n_bright); 
          imageCopyResized($thumb,$pic,0,0,0,0,$n_widht,$n_bright,$widht,$bright); 
          ImageJPEG($thumb,"$PicPathOut"."thumb_"."$pnk"); 

          ps.: jeder hat mal klein angefangen

          Kommentar


          • #6
            und mach E_ALL an - dann wirst du es sehen.
            OffTopic:
            "$pnk"
            wozu die anführungsstriche?

            Kommentar


            • #7
              ohne die anführungstriche kommt:

              Warning: getimagesize(files/704b3a7337jpg) [function.getimagesize]: failed to open stream: No such file or directory in S:\server\xampp\htdocs\pics\upload.php on line 63

              Warning: Division by zero in S:\server\xampp\htdocs\pics\upload.php on line 75

              Warning: imagecreatefromjpeg(files/704b3a7337jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in S:\server\xampp\htdocs\pics\upload.php on line 94

              Warning: imagecopyresized(): supplied argument is not a valid Image resource in S:\server\xampp\htdocs\pics\upload.php on line 95

              Warning: imagejpeg(): supplied argument is not a valid Image resource in S:\server\xampp\htdocs\upload.php on line 96

              nunja liegt vllt daran das $pn ein wert ist und ich dort noch die datei endung drangehangen habe..


              und was meinst du mit "mach E_ALL an".. ehrlich gesagt ka was das sein soll ^^
              ps.: jeder hat mal klein angefangen

              Kommentar


              • #8
                lies erst den sticky post hier im forum.

                Kommentar


                • #9
                  k, habs gesehen, hatte die schonmal gelesen ist nur etwas her und alles merkt man sich ja dochnet ^^
                  ps.: jeder hat mal klein angefangen

                  Kommentar

                  Lädt...
                  X