Код не мой:
<?php
$mini='123.jpg';
function resize($image, $w_o = false, $h_o = false) {
if (($w_o < 0) || ($h_o < 0)) {
echo "Некорректные входные параметры";
return false;
}
list($w_i, $h_i, $type) = getimagesize($image);
$types = array("", "gif", "jpeg", "png");
$ext = $types[$type];
if ($ext) {
$func = 'imagecreatefrom'.$ext;
$img_i = $func($image);
} else {
echo 'Некорректное изображение';
return false;
}
if (!$h_o) $h_o = $w_o / ($w_i / $h_i);
if (!$w_o) $w_o = $h_o / ($h_i / $w_i);
$img_o = imagecreatetruecolor($w_o, $h_o);
imagecopyresampled($img_o, $img_i, 0, 0, 0, 0, $w_o, $h_o, $w_i, $h_i);
$func = 'image'.$ext;
return $func($img_o, $image);
}
function resize_photo($src,$src2){
$params = getimagesize($src);
switch ( $params[2] ) {
case 1: $source = imagecreatefromgif($src); break;
case 2: $source = imagecreatefromjpeg($src); break;
case 3: $source = imagecreatefrompng($src); break;
}
$max_size = 591;
if ( $params[1]>$max_size ) {
if ( $params[0]>$params[1] ) $size = $params[0];
else $size = $params[1];
$resource_width = floor($params[0] * $max_size / $size);
$resource_height = floor($params[1] * $max_size / $size);
$resource = imagecreatetruecolor($resource_width, $resource_height);
imagecopyresampled($resource, $source, 0, 0, 0, 0, $resource_width, $resource_height, $params[0], $params[1]);
}
else $resource = $source;
$resource_src = $src2;
imageJpeg($resource, $resource_src);
}
function crop($image, $x_o, $y_o, $w_o, $h_o) {
if (($x_o < 0) || ($y_o < 0) || ($w_o < 0) || ($h_o < 0)) {
echo "Некорректные входные параметры";
return false;
}
list($w_i, $h_i, $type) = getimagesize($image);
$types = array("", "gif", "jpeg", "png");
$ext = $types[$type];
if ($ext) {
$func = 'imagecreatefrom'.$ext;
$img_i = $func($image);
} else {
echo 'Некорректное изображение';
return false;
}
if ($x_o + $w_o > $w_i) $w_o = $w_i - $x_o;
if ($y_o + $h_o > $h_i) $h_o = $h_i - $y_o;
$img_o = imagecreatetruecolor($w_o, $h_o);
imagecopy($img_o, $img_i, 0, 0, $x_o, $y_o, $w_o, $h_o);
$func = 'image'.$ext;
return $func($img_o, $image);
}
$newi='new.jpg';
resize($mini, false, 472);
crop($mini,0,0,354,472);
echo '<table border="1"><td>Оригинал:<br><img border=1 src="1234.jpg"></td>'; echo '<td valign="top">3x4:<br><img border=1 src="123.jpg"></td></table>';
?>