imagejpeg() - problem

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

  • imagejpeg() - problem

    also ich habe anhand einer .php4 datei bilder verkleinert:
    Code:
    		$local = "stuff/pics/";
    		$pic = $local.$pic_send;
    
    		$file = $pic;
    		if (file_exists($file)) {
    
    			// Originalformat auslesen
    			$size         = getimagesize($file);
    			$width_old    = $size[0];
    			$height_old   = $size[1];
    
    			// Bild laden
    			$old_picture  = imagecreatefromjpeg($file);
    
    			// Neues Format definieren, dabei Proportionen beibehalten
    			if ($width_old > $height_old) {
    				$width_new  = 200;
    				$height_new = intval($height_old * $width_new / $width_old);
    			} else {
    				$height_new = 200;
    				$width_new  = intval($width_old * $height_new / $height_old);
    			}
    
    			// Neues Bild erzeugen
    			$new_picture = imagecreatetruecolor($width_new, $height_new);
    
    			// Kopiert das Ursprungsbild und formatiert es um + Weichzeichnung.
    			imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old);
    
    			// Endbild erstellen
    			imagejpeg($new_picture);
    		}
    ... und dann mit <img src="small_bild.php4"> ausgegeben. Dies lief wie geschnürrt.

    Jetzt habe ich das gleiche mit einer funktion versucht:

    Code:
    function pic_smaller($pic_send, $width_send, $height_send){
    
    		$local = "stuff/pics/";
    		$pic = $local.$pic_send;
    
    		$file = $pic;
    		if (file_exists($file)) {
    
    			// Originalformat auslesen
    			$size         = getimagesize($file);
    			$width_old    = $size[0];
    			$height_old   = $size[1];
    
    			// Bild laden
    			$old_picture  = imagecreatefromjpeg($file);
    
    			// Neues Format definieren, dabei Proportionen beibehalten
    			if ($width_old > $height_old) {
    				$width_new  = $width_send;
    				$height_new = intval($height_old * $width_new / $width_old);
    			} else {
    				$height_new = $height_send;
    				$width_new  = intval($width_old * $height_new / $height_old);
    			}
    
    			// Neues Bild erzeugen
    			$new_picture = imagecreatetruecolor($width_new, $height_new);
    
    			// Kopiert das Ursprungsbild und formatiert es um + Weichzeichnung.
    			imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old);
    
    			// Endbild erstellen
    			imagejpeg($new_picture);
    		}
    	}
    ... und mit echo "<img src=\ "pic_smaller($pic, $weight, $height)\">"; aufgerufen. nur gibt mir der browser kein schönes bild aus sonder nur wirres zeug. in dem stil:

    JFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ–È"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ× ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥

    ich hab keine Ahnung woran das liegen könnte. Ich hoffe das ihr mir helfen könnt.

    greez se@x

  • #2
    Html und Bild(er) koennen niemals in dieselbe Datei geschrieben werden und das ist genau das, was Du vergeblich versuchst.

    Kommentar


    • #3
      hättest du mir, eine andere lösung, wiä ich das mit einer funtkion machen könnte???

      Kommentar


      • #4
        Ich muss schon wieder seitlich scrollen. Und ich hab schon wieder keine Lust mehr.

        Kommentar


        • #5
          mmh irgendwie hilft mir deine antwort auch nicht weiter!

          Kommentar


          • #6
            Original geschrieben von se@x
            hättest du mir, eine andere lösung, wiä ich das mit einer funtkion machen könnte???
            lagere die funktionalität in eine eigene datei aus, übergebe ggf. den namen des original-bildes als GET-parameter, und lasse diese datei dann nur das bild erzeugen und den entsprechenden header ausgeben.

            eingebunden wird das ganze dann wie üblich mit einem <img>,

            <img src="srcipt_das_meine_bilder_verkleinert.php?bildname=titten.jpg" alt="boah ey!">
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              @HN: Einfach mal ordentlichen Monitor zulegen

              @se@x: mal nachdenken!!! wenn dir jemand sagt, dass
              Html und Bild(er) [...] niemals in dieselbe Datei geschrieben werden
              können, was sollst du dann machen.

              Kommentar


              • #8
                thx an alle

                Kommentar

                Lädt...
                X