Bildgröße nachträglich ändern?

Ohne „$this->“

ok hab ich geändert! jetzt ist zeile 115 dran :slight_smile: 459 zu aktualisierende Bilder Source: images/articles/88c48651d7bdb7e31808e6ef34c3c65e.png ( / ) Fatal error: Call to undefined function imageend() in /www/htdocs/rtzrtz/rzrz.php on line 115 [code]<?php include (“config.php”);

mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
$db_select = mysql_select_db($DB_DATABASE);
$bild = new bildedit();
$uploaddir = ‘images/articles/’;
if (!is_dir($uploaddir)){
die("$uploaddir it´s not a directory");
}

// Thumbnail - Number der zu aktualisierenden Größe und neue Größe x/y in px
$thb = 4;
$thb_x = 480;
$thb_y = 600;

$sql = “SELECT img FROM s_articles_img”;
$result = mysql_query($sql);

echo “”.mysql_num_rows($result)." zu aktualisierende Bilder “; while ($row = mysql_fetch_assoc($result)) { $filename = $row[“img”].”.png"; $uploadfile = $uploaddir . basename($filename); if (!file_exists($uploaddir)){ die ("$uploadfile it´s not a file
rn"); } $pictureSize = getimagesize($uploadfile); echo “Source: “.$uploadfile.” ({$pictureSize[“x”]} / {$pictureSize[“y”]}) “; if (!$thb_y){ $bild->resize($uploadfile,$thb_x,0,1,$uploaddir.$row[“img”].”_$thb.png”); }else { $bild->resize_dynamic($uploadfile,$thb_x,$thb_y,1,$uploaddir.$row[“img”]."_$thb.png"); } echo “Target: “.$uploaddir.$row[“img”].”_$thb.png”." ($thb_x / $thb_y) "; } class bildedit { function resize ($picture, $new_width, $new_height, $mode, $newfile) { $image=imagecreatefrom($picture); //erstellt ein Abbild im Speicher $size=getimagesize($picture); //ermittelt die Größe des Bildes $breite=$size[0]; //die Breite des Bildes $hoehe=$size[1]; //die Höhe des Bildes // Verhältnis Breite zu Höhe bestimmen $verhaeltnis = $breite/$hoehe; if ($breite < $new_width){ $breite_neu = $breite; }else { $breite_neu = $new_width; } $hoehe_neu = round($breite_neu / $verhaeltnis,0); $newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen imagealphablending($newImage, false); imagesavealpha($newImage, true); imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe); imageend($newImage,$newfile); //Thumbnail speichern imagedestroy($image); imagedestroy($newImage); } function resize_dynamic ($picture, $new_width, $new_height, $mode, $newfile) { $image=imagecreatefrompng($picture); //erstellt ein Abbild im Speicher $size=getimagesize($picture); //ermittelt die Größe des Bildes $breite=$size[0]; //die Breite des Bildes $hoehe=$size[1]; //die Höhe des Bildes // Verhältnis Breite zu Höhe bestimmen if ($breite > $hoehe){ $verhaeltnis = $breite/$hoehe; $breite_neu = $new_width; $hoehe_neu = round($breite_neu / $verhaeltnis,0); }else { $verhaeltnis = $hoehe/$breite; $hoehe_neu = $new_height; $breite_neu = round($hoehe_neu / $verhaeltnis,0); } $newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen imagealphablending($newImage, false); imagesavealpha($newImage, true); imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe); imageend($newImage,$newfile); //Thumbnail speichern imagedestroy($image); imagedestroy($newImage); } } ?>[/code]

imagepng, imageend gibt es nicht.

jetzt hat alles funktioniert! ich bedanke mich bei allen beteiligten für eure hilfe. hier der fertige code [code]<?php include („config.php“);

mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
$db_select = mysql_select_db($DB_DATABASE);
$bild = new bildedit();
$uploaddir = ‚images/articles/‘;
if (!is_dir($uploaddir)){
die("$uploaddir it´s not a directory");
}

// Thumbnail - Number der zu aktualisierenden Größe und neue Größe x/y in px
$thb = 1;
$thb_x = 107;
$thb_y = 107;

$sql = „SELECT img FROM s_articles_img“;
$result = mysql_query($sql);

echo „“.mysql_num_rows($result)." zu aktualisierende Bilder „; while ($row = mysql_fetch_assoc($result)) { $filename = $row[„img“].“.png"; $uploadfile = $uploaddir . basename($filename); if (!file_exists($uploaddir)){ die ("$uploadfile it´s not a file
rn"); } $pictureSize = getimagesize($uploadfile); echo „Source: „.$uploadfile.“ ({$pictureSize[„x“]} / {$pictureSize[„y“]}) „; if (!$thb_y){ $bild->resize($uploadfile,$thb_x,0,1,$uploaddir.$row[„img“].“_$thb.png“); }else { $bild->resize_dynamic($uploadfile,$thb_x,$thb_y,1,$uploaddir.$row[„img“]."_$thb.png"); } echo „Target: „.$uploaddir.$row[„img“].“_$thb.png“." ($thb_x / $thb_y) "; } class bildedit { function resize ($picture, $new_width, $new_height, $mode, $newfile) { $image=imagecreatefrom($picture); //erstellt ein Abbild im Speicher $size=getimagesize($picture); //ermittelt die Größe des Bildes $breite=$size[0]; //die Breite des Bildes $hoehe=$size[1]; //die Höhe des Bildes // Verhältnis Breite zu Höhe bestimmen $verhaeltnis = $breite/$hoehe; if ($breite < $new_width){ $breite_neu = $breite; }else { $breite_neu = $new_width; } $hoehe_neu = round($breite_neu / $verhaeltnis,0); $newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen imagealphablending($newImage, false); imagesavealpha($newImage, true); imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe); imageend($newImage,$newfile); //Thumbnail speichern imagedestroy($image); imagedestroy($newImage); } function resize_dynamic ($picture, $new_width, $new_height, $mode, $newfile) { $image=imagecreatefrompng($picture); //erstellt ein Abbild im Speicher $size=getimagesize($picture); //ermittelt die Größe des Bildes $breite=$size[0]; //die Breite des Bildes $hoehe=$size[1]; //die Höhe des Bildes // Verhältnis Breite zu Höhe bestimmen if ($breite > $hoehe){ $verhaeltnis = $breite/$hoehe; $breite_neu = $new_width; $hoehe_neu = round($breite_neu / $verhaeltnis,0); }else { $verhaeltnis = $hoehe/$breite; $hoehe_neu = $new_height; $breite_neu = round($hoehe_neu / $verhaeltnis,0); } $newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen imagealphablending($newImage, false); imagesavealpha($newImage, true); imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe); imagepng($newImage,$newfile); //Thumbnail speichern imagedestroy($image); imagedestroy($newImage); } } ?>[/code]

[quote]imagepng, imageend gibt es nicht.[/quote] In der \engine\backend\modules\articles\bild_class.php steht in Zeile69: $this-\>imageend($newImage,$newfile); //Thumbnail speichern …gibt es also schon. War aber wohl so nicht einfach übertragbar bzw. falsch. Gut das ovi die entscheidene Idee hatte. Richtig wäre eigentlich, das Script unabhängig von der Dataiendung / Speicherformat zu machen, dafür ist in der bild_class.php ja auch noch etwas code vorhanden, aber wie das dann konkret einzubauen ist weiß ich nicht. …Aber egal - Hauptsache, es geht jetzt :thumbup: Grüße rattaui

ha ha, da hab ich mich wohl zu früh gefreut. einige fehler gibt es noch. Warning: Division by zero in /www/htdocs/thzrt/rtfh.php on line 104 Warning: Division by zero in /www/htdocs/rtfzh/thz.php on line 106 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /www/htdocs/urtu/fruzuz.php on line 109 Warning: imagealphablending(): supplied argument is not a valid Image resource in /www/htdocs/rtu/rrtu.php on line 110 Warning: imagesavealpha(): supplied argument is not a valid Image resource in /www/htdocs/rtu/rtuz.php on line 111 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /www/htdocs/rtur/rtur.php on line 113 Warning: imagepng(): supplied argument is not a valid Image resource in /www/htdocs/rtzr/rtzrt.php on line 115 Warning: imagedestroy(): supplied argument is not a valid Image resource in /www/htdocs/rtuzr/rtuzrt.php on line 117 Warning: imagedestroy(): supplied argument is not a valid Image resource in /www/htdocs/rtz/rtuz.php on line 118 viele bilder werden nicht verarbeitet! mfg