tady je fci, kterou jsem trosku poupravil.... (muzes nastavovat vynucenou sirku, vysku nebo sirku a vysku)
function thumbnailplusplus($src, $saveas, $tparams)
{
$tparams = explode('&',$tparams);
$params = array();
foreach ($tparams as $par)
{
$t = explode('=',$par);
$params[$t[0]] = $t[1];
}
$img = $src;
$percent = $params['percent'];
$constrain = $params['constrain'];
// get image size of img
$x = @getimagesize($img);
// image width
$sw = $x[0];
// image height
$sh = $x[1];
//use forced params
if(is_numeric($params['fh']) || is_numeric($params['fw']))
{
if(is_numeric($params['fh']))
{
$h = $params['fh'];
$w = null;
}
if(is_numeric($params['fw']))
{
$w = $params['fw'];
$h = null;
}
}
else
{
//width bigger, resize according to width params
if($sw > $sh)
{
$w = $params['w'];
$h = null;
if($sw < $w)
{
copy($src,$saveas);
return null;
}
}
//use height
else
{
$h = $params['h'];
$w = null;
if($sh < $h)
{
copy($src,$saveas);
return null;
}
}
}
if ($percent > 0) {
// calculate resized height and width if percent is defined
$percent = $percent * 0.01;
$w = $sw * $percent;
$h = $sh * $percent;
} else {
if (isset ($w) AND !isset ($h)) {
// autocompute height if only width is set
$h = (100 / ($sw / $w)) * .01;
$h = @round ($sh * $h);
} elseif (isset ($h) AND !isset ($w)) {
// autocompute width if only height is set
$w = (100 / ($sh / $h)) * .01;
$w = @round ($sw * $w);
} elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
// get the smaller resulting image dimension if both height
// and width are set and $constrain is also set
$hx = (100 / ($sw / $w)) * .01;
$hx = @round ($sh * $hx);
$wx = (100 / ($sh / $h)) * .01;
$wx = @round ($sw * $wx);
if ($hx < $h) {
$h = (100 / ($sw / $w)) * .01;
$h = @round ($sh * $h);
} else {
$w = (100 / ($sh / $h)) * .01;
$w = @round ($sw * $w);
}
}
}
$im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
$im = @ImageCreateFromPNG ($img) or // or PNG Image
$im = @ImageCreateFromGIF ($img) or // or GIF Image
$im = false; // If image is not JPEG, PNG, or GIF
if (!$im) {
// We get errors from PHP's ImageCreate functions...
// So let's echo back the contents of the actual image.
readfile ($img);
} else {
// Create the resized image destination
$thumb = @ImageCreateTrueColor ($w, $h);
// Copy from image source, resize it, and paste to image destination
@ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
// Output resized image
@ImageJPEG ($thumb,$saveas,90);
}
}