Как повернуть изображение в библиотеке изображений GD при сохранении прозрачности? - PullRequest
1 голос
/ 04 ноября 2010

Я делаю предварительный просмотр скина для своего сайта; Мне нужно повернуть части изображения, чтобы создать представление, которое увидят мои пользователи.

Скин представляет собой файл PNG, и все его части могут иметь прозрачность или даже не иметь ее вообще.

Мне нужно иметь возможность поворачивать это изображение, сохраняя прозрачность внутри изображения, а также иметь прозрачные расширенные границы (вы знаете, область, которая не была частью изображения до его поворота). *

Все мои попытки оставили черную рамку вокруг самого изображения.

Любая помощь?

Ответы [ 3 ]

2 голосов
/ 05 ноября 2010
  1. Вырежьте часть изображения, которое вы хотите повернуть
  2. Поверните сохраняющую альфа, используя что-то вроде этого http://www.exorithm.com/algorithm/view/rotate_image_alpha
  3. Объедините обратно в сохранении альфа, используя следующее:

-

imagesetbrush($destimg, $srcimg);
// x, y are the center of target paste location
imageline($destimg, $x, $y, $x, $y, IMG_COLOR_BRUSHED);
0 голосов
/ 22 июля 2015

Я использую это для поворота PNG и сохранения цвета прозрачности.Работает как шарм.Это «базовый БЖ».

 $rotation = 135;
 $handle_rotated = imagerotate($handle_not_rotated,$rotation,0);
 imagealphablending($handle_rotated, true);
 imagesavealpha($handle_rotated, true); 

Не знаете, ищете ли вы это?

0 голосов
/ 04 ноября 2010

Вы можете проверить здесь для некоторых случаев использования libpng (для чего потребуется zlib ).Если вы используете Linux, вы можете написать что-нибудь на Perl.Модуль CPAN GD может быть вашим билетом.

...