Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с уменьшением прозрачных GIF 
V
    Опции темы
americanets
Дата 30.3.2007, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: нет
Всего: 12



Проблема с уменьшением прозрачных GIF

Код

<?php 
function resizeimg($id, $filename, $w, $h,$nameimage,$dirictory) 
  { 
    $patch=$_SERVER["DOCUMENT_ROOT"];
    $smallimage = "$id-$nameimage";   
    $ratio = $w/$h; 
    $size_img = getimagesize($filename); 
    if (($size_img[0]<$w) && ($size_img[1]<$h)) return true; 
    $src_ratio=$size_img[0]/$size_img[1]; 
    if ($ratio<$src_ratio) 
    { 
      $h = $w/$src_ratio; 
    } 
    else 
    { 
      $w = $h*$src_ratio; 
    } 
    $dest_img = imagecreatetruecolor($w, $h);   
    $white = imagecolorallocate($dest_img, 255, 255, 255);        
    if ($size_img[2]==2)  $src_img = imagecreatefromjpeg($filename);                       
    else if ($size_img[2]==1){ 
    $src_img = imagecreatefromgif($filename)
    ImageAlphaBlending($src_img, true); 
    ;
    }                 
    imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);                 
    if ($size_img[2]==2)  imagejpeg($dest_img, $patch."/ima/Image/$dirictory/".$smallimage.".jpg",60);             
    else if ($size_img[2]==1) imagegif($dest_img, $patch."/ima/Image/$dirictory/".$smallimage.".gif");
    imagedestroy($dest_img); 
    imagedestroy($src_img); 
    return true;          
  }
?>



--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
fraer
Дата 6.4.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Код

$info = getimagesize($fname, $infoex);
switch ($info[2]) {
  case 1 : $image = imagecreatefromgif($fname); break;
  case 2 : $image = imagecreatefromjpeg($fname); break;
  case 3 : $image = imagecreatefrompng($fname); break;
}

$dst = imagecreatetruecolor($w, $h);

$background = imagecolorallocate($dst, 0, 0, 0);
ImageColorTransparent($dst, $background);
imagealphablending($dst, false);

imagecopyresampled($dst, $image, 0, 0, $x1, $y1, $w, $h, $x2 - $x1, $y2 - $y1);
switch ($info[2]) {
  case 1 : imagegif($dst, $fname); break;
  case 2 : imagejpeg($dst, $fname); break;
  case 3 : imagepng($dst, $fname); break;
}

imagedestroy($image);
imagedestroy($dst);



попробуй, скажешь, помогло или нет. У меня работает с прозрачными ПНГ и ГИФ
PM MAIL   Вверх
americanets
Дата 7.4.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: нет
Всего: 12



Спасибо, помогло 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.