Показать сообщение отдельно

  #2  
Старый 07.07.2009, 18:08
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

PHP код:
<?php
// картинка - http://ru.php.net/images/php.gif
/* Вырезаем нужную часть */
$src imagecreatefromgif('php.gif');
$dest imagecreatetruecolor(8040);
imagecopy($dest$src0020138040);
imagegif($dest"php1.gif");
imagedestroy($dest);
imagedestroy($src);
/* Делаем ресайз вырезанной части */
resize("php1.gif"60"php2.gif"); // Результат в php2.gif
unlink('php1.gif'); // Удаляем промежуточный результат
echo "Result in php2.gif";
// Функция для ресайза
function resize($img$thumb_width$newfilename

  
$max_width=$thumb_width;
  if (!
extension_loaded('gd') && !extension_loaded('gd2')){
        
trigger_error("GD is not loaded"E_USER_WARNING);
        return 
false;
  }
  list(
$width_orig$height_orig$image_type) = getimagesize($img);
  switch (
$image_type) {
        case 
1$im imagecreatefromgif($img); break;
        case 
2$im imagecreatefromjpeg($img);  break;
        case 
3$im imagecreatefrompng($img); break;
        default:  
trigger_error('Unsupported filetype!'E_USER_WARNING);  break;
  }
  
$aspect_ratio = (float) $height_orig $width_orig;
  
$thumb_height round($thumb_width $aspect_ratio);
  while(
$thumb_height>$max_width){
        
$thumb_width-=10;
        
$thumb_height round($thumb_width $aspect_ratio);
  }
  
$newImg imagecreatetruecolor($thumb_width$thumb_height);
  if((
$image_type == 1) OR ($image_type==3)) {
        
imagealphablending($newImgfalse);
        
imagesavealpha($newImg,true);
        
$transparent imagecolorallocatealpha($newImg255255255127);
        
imagefilledrectangle($newImg00$thumb_width$thumb_height$transparent);
  }
  
imagecopyresampled($newImg$im0000$thumb_width$thumb_height$width_orig$height_orig);
  switch (
$image_type) {
        case 
1imagegif($newImg,$newfilename); break;
        case 
2imagejpeg($newImg,$newfilename);  break;
        case 
3imagepng($newImg,$newfilename); break;
        default:  
trigger_error('Failed resize image!'E_USER_WARNING);  break;
  }
  return 
$newfilename;
}
?>

Последний раз редактировалось Pashkela; 07.07.2009 в 18:20..
 
Ответить с цитированием