|
|
|
|
|
|
для: elenaki
(22.02.2006 в 19:39)
| | cсохранить нужно с новыми размерами.
Если было, то где? | |
|
|
|
|
|
|
|
для: pengo
(22.02.2006 в 19:16)
| | а про сохранить в файл уже было раньше :(. | |
|
|
|
|
|
|
|
для: elenaki
(22.02.2006 в 19:08)
| | мне нужно не вывести изображение на экран с новыми размерами, а сохранить его в файл. | |
|
|
|
|
|
|
|
для: pengo
(22.02.2006 в 18:52)
| | установим максимальные размеры:
$maxWidth = 1024;
$maxHeight = 800;
|
кстати, надо делать меньше размер, место занимают панели, строки состояния и полоса прокрутки...
получим реальные размеры изображения:
list($width, $height, $type, $attr) = @getimagesize( $localDir.$images );
|
locaDir - физический путь, images - файл изображения
теперь вычислим новые размеры, соблюдая пропорцию:
$xRatio = $maxWidth / $width;
$yRatio = $maxHeight / $height;
if ( ($width <= $maxWidth) && ($height <= $maxHeight) ) {
$newWidth = $width;
$newHeight = $height;
}
else if (($xRatio * $height) < $maxHeight) {
$newHeight = ceil($xRatio * $height);
$newWidth = $maxWidth;
}
else {
$newWidth = ceil($yRatio * $width);
$newHeight = $maxHeight;
}
|
теперь можно вывести изображение с новыми размерами:
<img src='".$webDir.$images."' width='$newWidth' height='$newHeight'>
|
webdir - виртуальный путь к изображению | |
|
|
|
|
|
|
| Допустим есть изображение 1600х1200. Как из него получить, на пример 1024х800 ни чего не обрезая.
В ФотоШопе для этого применяется функция Image Size. | |
|
|
|
|