31 lines
1.3 KiB
PHP
31 lines
1.3 KiB
PHP
|
<?php
|
||
|
/*
|
||
|
путь к файлу
|
||
|
ширина
|
||
|
высота
|
||
|
путь к новому файлу
|
||
|
степерь сжатия 1-100
|
||
|
*/
|
||
|
function rimg ( $file, $w, $h, $newfile, $zip=100, $c=0 ) {
|
||
|
if (!$file) die('не указан файл');
|
||
|
if (!$h)$h=$w;//если не задана высота, делаем квадрат
|
||
|
if (!$newfile)$newfile=$file;//если не создаем новый, то переписываем текущий
|
||
|
/* узнаем высоту и ширину */
|
||
|
$size = getimagesize ( $file );
|
||
|
$wr=$size[0];
|
||
|
$hr=$size[1];
|
||
|
//print_r($size);
|
||
|
//если ширина больше:
|
||
|
//if ($wr>$hr){//значит высота меньше, именно по ней жмем картинку
|
||
|
//exec('convert ' . $file . ' -resize x' . $h . ' -strip -quality ' . $zip . ' ' . $newfile);
|
||
|
//}else{
|
||
|
exec('convert ' . $file . ' -resize ' . $w . ' -strip -quality ' . $zip . ' ' . $newfile);
|
||
|
//}
|
||
|
//обрезаем высоту до нужного размера
|
||
|
if ($c==1)
|
||
|
exec('convert ' . $newfile . ' -gravity Center -crop ' . $w . 'x' . $h . '+0 -colorspace Gray ' . $newfile);
|
||
|
else
|
||
|
exec('convert ' . $newfile . ' -gravity Center -crop ' . $w . 'x' . $h . '+0 ' . $newfile);
|
||
|
//echo 'convert ' . $newfile . ' -gravity Center -crop ' . $w . 'x' . $h . '+0 ' . $newfile . ' ----- ';
|
||
|
}
|
||
|
?>
|