Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Скрипт уменьшения изображений
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Скрипт уменьшения изображений

Страниц (1): [1]
 

1. Volt - 02 Ноября, 2011 - 03:49:19 - перейти к сообщению
Можете дать скрипт который после выбора пользователем картинки сначала проверяет уменьшать ее до определенных размеров(а допустим она такая как и создающая ум. копия тогда не надо ее уменьшать) и потом грузить в директорию.
2. flashka_ - 04 Ноября, 2011 - 05:28:22 - перейти к сообщению
А зачем проверять?) На тебе скрипт который не будет изменять если картинка меньше тех параметров до которых нужно уменьшать
Спойлер (Отобразить)
3. sKaa - 04 Ноября, 2011 - 07:27:43 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. function getImageType($filename) {
  3.         if (preg_match('!\.(jpg|jpeg)$!si',$filename)) {
  4.         return 'Jpeg';
  5.         } else if (preg_match('!\.gif$!si',$filename))  {
  6.         return 'Gif';
  7.         } else if (preg_match('!\.png$!si',$filename)) {
  8.         return 'Png';
  9.         }
  10.         return 0;
  11.         }
  12.  
  13. function minimizeImg($width,$height,$fin,$fout) {
  14.         if (!$size=GetImageSize("$fin")) {
  15.          return 0;
  16.         }
  17.         $typein=getImageType($fin);
  18.         $typeout=getImageType($fout);
  19.         if (($typeout=='Gif')||($typeout=='0')||($typein=='0')) {
  20.          return 0;
  21.         }
  22.         eval('$im_in=ImageCreateFrom'.$typein.'("$fin");');
  23.         $wm=$size[0]/$width;
  24.         $hm=$size[1]/$height;
  25.         if ($wm>$hm) {
  26.          $hm=$wm;
  27.         }
  28.         $ah=(int) $size[1]/$hm;
  29.         $aw=(int) $size[0]/$hm;
  30.         $x1=0;
  31.         $y1=0;
  32.          if ($aw<$width) {
  33.           $x1=(int) ($width-$aw)/2;
  34.          }
  35.          if ($ah<$height) {
  36.           $y1=(int)($height-$ah)/2;
  37.          }
  38.         $im_out=ImageCreate($width,$height);
  39.         $bgcolor=ImageColorAllocate($im_out,255,255,255);
  40.         ImageRectangle($im_out,0,0,$width,$height,$bgcolor);
  41.         ImageCopyResized($im_out,$im_in,$x1,$y1,0,0,(int)
  42.            $size[0]/$hm,(int) $size[1]/$hm,$size[0],$size[1]);
  43.         eval('Image'.$typeout.'($im_out,$fout);');
  44.         ImageDestroy($im_in);
  45.         ImageDestroy($im_out);
  46.         return 1;
  47. }
4. Volt - 05 Ноября, 2011 - 09:43:53 - перейти к сообщению
ооо.сложно..скажите пожалуста а как сделать чтобы сначала загружаемое изображение создавали в других расширениях возможный..а уже потом уменьшали все эти изображения?????

 

Powered by ExBB FM 1.0 RC1