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 :: Версия для печати :: Прозрачный PNG....
Форумы портала PHP.SU » PHP » Программирование на PHP » Прозрачный PNG....

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

1. botaniQ - 16 Октября, 2007 - 11:15:37 - перейти к сообщению
Помогите разобраться почему при выполнении следующей функции, PNG вместо прозрачного фона сохраняются с синим фоном ?? Хотя GIF при этом прекрасно сохраняется с прозрачностью...

CODE (text):
скопировать код в буфер обмена
  1.  function imageresize2($outfile,$infile,$neww,$newh,$quality, $ftype)
  2.   {
  3.     $ftype=strtoupper($ftype);
  4.     switch ($ftype)
  5.     {
  6.       case "JPEG" :
  7.         $im=imagecreatefromjpeg($infile);
  8.         break;
  9.       case "JPE" :
  10.         $im=imagecreatefromjpeg($infile);
  11.         break;
  12.       case "JPG" :
  13.         $im=imagecreatefromjpeg($infile);      
  14.         break;
  15.       case "PNG" :
  16.         $im=imagecreatefrompng($infile);
  17.         break;
  18.       case "GIF" :
  19.         $im=imagecreatefromgif($infile);
  20.     }
  21.     $imagesize = getimagesize($infile);
  22.     $width = $imagesize[0];
  23.     $height = $imagesize[1];
  24.     $x=1.0;
  25.     if ($width>$neww) $x=$neww/$width;
  26.     if (($height*$x)>$newh) $x=$newh/$height;
  27.     $neww=round($width*$x);
  28.     $newh=round($height*$x);
  29.     $im1=imagecreatetruecolor($neww, $newh);
  30.     $bgcolor = imagecolortransparent($im);
  31.     imagefill($im1, 0,0, $bgcolor);    
  32.     imagecolortransparent($im1, $bgcolor);
  33.     imagecopyresampled($im1, $im, 0, 0, 0, 0, $neww, $newh, $width, $height);
  34.     switch ($ftype)
  35.     {
  36.       case "JPEG" :
  37.         imagejpeg($im1,$outfile,$quality);
  38.         break;
  39.       case "JPE" :
  40.         imagejpeg($im1,$outfile,$quality);
  41.         break;
  42.       case "JPG" :
  43.         imagejpeg($im1,$outfile,$quality);
  44.         break;
  45.       case "PNG" :
  46.         imagepng($im1,$outfile);
  47.         break;
  48.       case "GIF" :
  49.         imagegif($im1,$outfile);
  50.     }
  51.     imagedestroy($im);
  52.     imagedestroy($im1);
  53.   }
2. EuGen - 16 Октября, 2007 - 11:43:15 - перейти к сообщению
Поддержка прозрачности в IE

Проблема поддержки 32-битной (полной) прозрачности картинки формата PNG в веб-браузере Internet Explorer была решена в седьмой версии браузера. Для остальных версий IE есть несколько способов, которые помогут вебмастеру добиться прозрачности путём включения в веб-страницу специальных функций и скриптов.

Другие современные браузеры полностью поддерживают возможности формата PNG.

___
Ссылка на статью:
http://ru[dot]wikipedia[dot]org/wiki/Por[dot][dot][dot]Network_Graphics
3. botaniQ - 16 Октября, 2007 - 11:50:47 - перейти к сообщению
Спасибо....полезная информация

 

Powered by ExBB FM 1.0 RC1