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. wkera - 13 Декабря, 2012 - 12:44:21 - перейти к сообщению
Доброго времени суток, уважаемые. Перейду сразу к делу: у меня есть картинка, частично прозрачная в некоторых местах. Мне нужно одну часть из картинки вырезать, заменив то место, где была часть картинки, прозрачным. Соответственно делаю следующее:
PHP:
скопировать код в буфер обмена
  1.  
  2. $ears = imagecreate(64,32);
  3. $color = imagecolorallocate($ears, 0, 255, 0);
  4. imagecopy ($ears, $skin, 0, 0, 0, 0, 64, 32);
  5. imagefilledrectangle ($ears, 24, 0, 37, 7, $color);
  6. imagecolortransparent($ears, $color);
  7.  


В результате все отлично, но при просмотре через, например adobe photoshop вместо прозрачного в месте 24, 0, 37, 7 зеленый цвет (0, 255, 0), а в других, ранее прозрачных местах, красуется черный, причем не везде)

Как быть?
2. JustJazz - 15 Декабря, 2012 - 17:19:08 - перейти к сообщению
Попробуйте создавать изображение с помощью imagecreatetruecolor и в каком формате сохраняете изображение?
3. wkera - 16 Декабря, 2012 - 10:18:43 - перейти к сообщению
imagecreatetruecolor вообще делает фон черным, а не прозрачным. Сохраняю в png
4. wkera - 20 Декабря, 2012 - 06:48:05 - перейти к сообщению
Картинка сохраняется в индексированных цветах. Можно ли как-то сохранить ее в RGB-8 ?

 

Powered by ExBB FM 1.0 RC1