Finde den Fehler nicht bei Bilderstellung

FipsTheThief

Erfahrenes Mitglied
Also vorab zu meinen kleinen Problem wo ich momentan nicht hinterher komme. In dem kleinen Script geht es darum ein Ausgangsbild in mehere Teile zu zerlegen. Also 4 Wagerecht in diesem Fall 3 Senkrecht.

PHP:
  <?php
error_reporting(E_ALL);
function imagesplit($sourceimage,$splitX,$splitY){

    $imagevalues = getimagesize($sourceimage);
    $mime = $imagevalues['mime'];

    $width  = floor($imagevalues[0]/$splitX);
    $height = floor($imagevalues[1]/$splitY);

    switch ($mime) {
        case 'image/jpeg':
            $oldimagefile = imagecreatefromjpeg($sourceimage);
        break;
        case 'image/png':
            $oldimagefile = imagecreatefrompng($sourceimage);
        break;
        case 'image/gif':
            $oldimagefile = imagecreatefromgif($sourceimage);
        break;
    }
    
    $x = 1;

    for($j = 0 ; $j < $splitY;$j++) {
        for($i = 0 ; $i < $splitX;$i++) {
            
            $imgfile = ($mime == 'image/gif')?imagecreate($width,$height):imagecreatetruecolor($width,$height);
            imagecopyresampled($imgfile,$oldimagefile,0,0,$width*$i,$height*$j,$width,$height,$width,$height);
            
            /***********************************************/
            /*                             BILD SPEICHERN                             */
            switch($mime) {
                case 'image/jpeg':
                    HEADER("CONTENT-TYPE:image/jpeg");
                    imagejpeg($imgfile,$x.".jpg");
                    imagedestroy($imgfile);
                break;
                  case 'image/gif':
                    HEADER("CONTENT-TYPE:image/gif");
                    imagegif($imgfile,$x.".gif");
                    imagedestroy($imgfile);
                break;
                case 'image/png':
                    HEADER("CONTENT-TYPE:image/png");
                    imagepng($imgfile,$x.".png");
                    imagedestroy($imgfile);
                break;
            }
            $x++;
        }
    }
    imagedestroy($oldimagefile);
}

imagesplit("michel.jpg",4,3);
?>

So wenn ich das nun richtig beobachte soll er nie ein Bild ausgeben sondern gleich auf Platte speichern. Das Script arbeitet auch wunderbar soweit es werden 12 Teile erstellt und gespeichert.Diese passen soweit auch gut zusammen wie ich es nun geprüft habe.Keine Kanten keine Lücken nix alles so wie im Ausgangsbild nur in Teilen.

Dennoch knallt er mir jedesmal die Meldung an den Kopf

Die Grafik "http://hops/Testumgebung_Scipte/PHP/ImageTests/BildTeiler/imageteiler.php" kann nicht angezeigt werden, weil sie Fehler enthält.

Aber der soll ja nun auch nix anzeigen das verwundert mich und dennoch kommt es.
Laut Berechnungen höhe * 2 + höhe stimmte ebebfalls die weite * 3 + weite.
Also nen Fehler kann ich da nun auch nicht erkennen da ich dachte es läge an den 2 for schleifen.

Auch wenn ich nun direkt in den Quellcode seh , also da wird weder Bildcode angezeigt noch die Fehlermeldung in Zeile so und so ist nen Fehler.

Eventuell weiss einer von euch was da nun los ist.
 
Zuletzt bearbeitet:
Hmm komisch also ich vermute mal die Funktionen imagejpeg,imagepng,imagegif. Im Manual steht ja das sie ausgegeben werden, aber mit 2ten optionalen parameter eigentlich nicht, deswegen verwundert mich das ein wenig.
 
Nun hab ich ihn gefunden , er gibt wirklich kein Bild aus mit dem 2. optionalen Parameter also lagen wir da beide richtig. Der Fehler war in der Header Information nun kommt ein Bild. Das kam nun aber nicht also musste man das einfach rausnehmen und siehe da es funktioniert ;)

Die Fehlermeldung hätte man aber auch ein wenig besser gestalten können , naja einmal dumm gestellt reicht fürs ganze Leben *g*
 
Zurück