Поверните изображение PNG и сохраняйте прозрачный фон - PullRequest
1 голос
/ 09 мая 2011

Я хочу повернуть изображение, но я не могу сохранить само изображение.

Вот что у меня есть:

// Content type
header('Content-type: image/png');  

$image = 'http://mapning.com/img/plane.png';
$file = imagecreatefrompng($image);
// Rotate
$rotate = imagerotate($file, $angle, 0);
// Output
imagepng($rotate);

Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 09 мая 2011

Вы должны специально заставить GD сохранить прозрачность. Попробуйте

imagesavealpha($file, TRUE);

до вызова imagepng().

1 голос
/ 01 ноября 2011

Что помогло мне, как в GD, так и в ImageMagick, это получить коды hex / rgb для цвета фона, на который вы в конечном итоге собираетесь наложить. Затем используйте его в качестве цвета фона. После поворота переведите этот цвет в прозрачный. Тогда маленькие сглаженные края будут выглядеть гладкими после наложения.

...