Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Прозрачность в png


Автор: NextAlex 31.3.2006, 18:23
Привет!
Есть картинка в формате .png - пишу скрипт
Код

<?php
   Header("Content-type: image/png");
   $im = imagecreatefrompng("images/logo.png");
   imagepng($im);
   ImageDestroy($im);
?>

картинка грузится и отрисовывается в окне, но без прозрачности.
Как отрисовать её с поддержкой прозрачности ? Ведь прозрачные gif-ы рисуются нормально ...
Спасибо.

Автор: ZlojEzh 1.4.2006, 10:11
если знаешь, где будет находиться хотя бы один прозрачный пиксел - может прокатить такое решение:
Код

<?php
  header("Content-type: image/png");
  $im = imagecreatefrompng("images/logo.png");
  imagecolortransparent($im,ImageColorAt($im, 1, 1));
  imagepng($im);
  ImageDestroy($im);
?>

Автор: NextAlex 1.4.2006, 10:54
ZlojEzh, прокатывает, но не совсем ... появляется только полная прозрачность - т.е. полностью прозрачные пиксели остаются прозрачными, а полупрозрачные становятся совсем непрозрачными smile

Автор: ZlojEzh 1.4.2006, 11:02
во, нашел
у меня вроде заработало
Код

<?php
  header("Content-type: image/png");
  $im = imagecreatefrompng("logo.png");
  imagesavealpha($im,TRUE);
  imagepng($im);
  ImageDestroy($im);
?>


правда в мануале пишут:
This function requires GD 2.0.1 or later.

попробуй, мож прокатит

Автор: NextAlex 1.4.2006, 18:53
ZlojEzh, ура !!!! Заработало. Спасибо тебе огромное.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)