Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как можно обрезать изображение снизу
 
 автор: Владимир22   (24.10.2008 в 11:55)   письмо автору
 
 

Есть картинка: ширина-75, высота-варьируется. Надо, чтобы, если эта картинка больше 90 px по высоте, то обрезать её снизу до 90 пикселей.
Делаю так:
$old="old.jpg"; // картинка с неизвестной высотой
$size_old="75"; ширина этой картинки
$st=getimagesize($old);
if($st[1]>90) {
$new="new.jpg"; // новая картинка с высотой в 90 px
imagecopy($new,$old,0,0,0,0,$size_old,90);
}

Но ничего не получается. Что делаю не так?

  Ответить  
 
 автор: Axxil   (24.10.2008 в 13:17)   письмо автору
 
   для: Владимир22   (24.10.2008 в 11:55)
 

  
<?
/**
/* @desc функция вырезает на картинке произвольную область
/* @param $filename путь к файлу с исходной картинкой
/* @param $x  координата верхего левого угла нужной области
/* @param $y  координата верхего левого угла нужной области
/* @param $w нужная ширина "обрезка"
/* @param $h нужная высота "обрезка"
/* @param $target_filename  куда записывать результат. Если не указать, то перепишется исходный файл.
*/
  
function evokeArea($filename,$x,$y,$w,$h,$target_filename=null){
    
$thumb imagecreatetruecolor($w$h);
    
$bgc imagecolorallocate($thumb255255255);
    
imagefilledrectangle($thumb00$w$h$bgc);
    
$source imagecreatefromjpeg($filename);
    
imagecopyresized($thumb$source00$x$y$w$h$w$h);
    
$target_filename is_null($target_filename)?$filename:$target_filename;
    
imagejpeg($thumb,$target_filename);
  }
?>


Т.е. в вашем случае:

evokeArea($old,0,0,$st[0],90,$new);

  Ответить  
 
 автор: Trianon   (24.10.2008 в 13:38)   письмо автору
 
   для: Владимир22   (24.10.2008 в 11:55)
 

$new="new.jpg";
imagecopy($new

Это как?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования