Поворот изображения с прозрачностью на произвольный угол в GD

  • Автор темы Автор темы poleg
  • Дата начала Дата начала

poleg

Новичок
Необходимо повернуть изображение с прозрачностью.
Использую функцию imagerotate, но при повороте образуются углы, которые необходимо залить. В руководстве на php.net есть пример:
<?php
$angle=45;
$im=imagerotate($im, $angle, -1);
imagealphablending($im, true);
imagesavealpha($im, true);
?>
Здесь в качестве идентификатора заливающего цвета используется -1. В самом руководстве про возможность использования -1 не сказано ни слова.
При попытке применить такой идентификатор у себя я получаю сообщение об ошибке. Мол новое изображение не сформировалось. Если опираться на пример выше, то не создалось изображение $im. И следующие функции ругаются...
Может быть такое, что у меня на хостинге стоит не та версия GD?
Вот что выдает phpinfo(); о свойствах GD:
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
 
сначало нужно создать изоображение
$im = imagecreatefromjpeg(__DIR__);
или
$im = imagecreate (150, 30);
а цвет задаеться скорее всего так "ffffff"
 
то, что перед поворотом изображения, его надо создать - это понятно...
В итоге я избавился от углов следующим образом:
Создаю изображение (которое буду вращать) с заведомо большим прозрачным фоном. После поворота вырезаю центральную часть...
 
как альтернативный метод можно попробывать задать цвет с помощю imagecolorallocatealpha возможно меньше памяти будет есть.
 
Сверху