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

Форум PHP

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

 

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

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

тема: Работа с графикой в PHP
 
 автор: Pon4ik   (09.12.2008 в 12:54)   письмо автору
 
 

Народ подскажите мне пожалуйста как мне написать скрипт выполняющей следующие действия:
Уменьшать изображение на какоето количество пикселей например фотка разрешением х-1024 у-768
её нужно уменьшить так чтобы: Х=100, а вот чему У равен скрипт должен сам найти т.е если мы уменьшим Х на 200 пикселей то и сторона У должна сама подогнаться под Х что бы изображение не растегивалось а сохраняло пропорции старон....
Блин как... у мя уже мозги плаветься подскажите плиз...

  Ответить  
 
 автор: sl1p   (09.12.2008 в 13:25)   письмо автору
 
   для: Pon4ik   (09.12.2008 в 12:54)
 

на держи, если разберёшь то твоё:)
делал для себя, но переделать как надо - раз плюнуть.

<?
function imgResize($image_name, $new_name, $size_name, $watermark, $image = array()) {
  
$path = $image['move_cat'].$image_name;
  
$size = getimagesize($path);
  
$w = $image[$size_name][0]; $h = $image[$size_name][1];
  
$misratio = $size[0] / $size[1];
  if(
$w / $h < $misratio) $h = $w * $misratio;
  else                    
$w = $h * $misratio;
  
$ext = substr(strchr($image_name,'.'), 1);
  
$open = 'imagecreatefrom'.$ext;
  
$save = 'image'.$ext;
  
$image_temp = imagecreatetruecolor($w, $h);
  
imagecopyresampled($image_temp,  $open($path), 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
  if(
$watermark){
   
$wm = imagecreatefromgif($image['water_mark']);
   
$wmw = imagesx($wm); $itw = imagesx($image_temp);
   
$wmh = imagesy($wm); $ith = imagesy($image_temp);
   
$rx = $itw - $wmw;
   
$trcolor = imagecolorexact($wm, 255, 255, 255);
   
imagecolortransparent($wm, $trcolor);
   
imagecopymerge($image_temp, $wm, $rx, 0, 0, 0, $wmw, $wmh, 35);
  }
  
$save($image_temp, (empty($new_name)?$path:$image['move_cat'].$new_name.'.'.$ext));
 }

 
$image['view_size'][0] = 550; //w
 
$image['view_size'][1] = 350; //h
 
$image['logo_size'][0] = 170;
 
$image['logo_size'][1] = 110;
 
$image['move_cat']     = 'img/';
 
$image['water_mark']   = 'img/wm.gif';

  Ответить  
 
 автор: Pon4ik   (09.12.2008 в 13:29)   письмо автору
 
   для: sl1p   (09.12.2008 в 13:25)
 

Большое спасибо!

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

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