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. ВэйДлин - 22 Июня, 2012 - 19:17:46 - перейти к сообщению
Делаю уменьшенную копию изображений таким кодом
PHP:
скопировать код в буфер обмена
  1. $format = strtolower(substr($gimag['mime'], strpos($gimag['mime'], '/')+1));
  2. $x_ratio = $min_width / $gimag[0];
  3. $y_ratio = $min_height / $gimag[1];
  4. $ratio = min($x_ratio, $y_ratio);
  5. $use_x_ratio = ($x_ratio == $ratio);
  6. $new_width = $use_x_ratio ? $min_width : floor($gimag[0] * $ratio);
  7. $new_height = !$use_x_ratio ? $min_height : floor($gimag[1]*$ratio);
  8. $icfunc = 'imagecreatefrom'.$format;
  9. $isrc = $icfunc($ava_n);
  10. $idest = imagecreatetruecolor($min_width, $min_height);
  11. imagefill($idest, 0, 0, 0xFFFFFF);
  12. imagecopyresampled($idest, $isrc, 0, 0, 0, 0, $new_width, $new_height, $gimag[0], $gimag[1]);
  13. imagejpeg($idest, ROOT.'/min.'.$ava_id, 100);
  14. imagedestroy($isrc);
  15. imagedestroy($idest);

Только вот если картинка с прозрачным фоном, он заливает её белым, как этого избежать?

 

Powered by ExBB FM 1.0 RC1