#php #image #png #rotation #transparent
#php #изображение #png #поворот #прозрачный
Вопрос:
Я хочу повернуть изображение, но, похоже, я не могу поддерживать само изображение.
Это то, что у меня есть:
// 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);
Что я делаю не так?
Ответ №1:
Вы должны специально заставить GD сохранять прозрачность. Попробуйте
imagesavealpha($file, TRUE);
перед imagepng()
вызовом.
Комментарии:
1. Хорошо, кажется, это немного работает. Теперь углы черные, и я нашел решение, но это продолжает приводить к появлению черных линий вокруг исходного изображения.
2. @RenePot Рене, тебе удалось избавиться от этих черных линий? Если да, то как вы это сделали?
3. @AndreiOniga извините, я не помню, и я не думаю, что у меня больше есть код
Ответ №2:
Что помогло мне, как в GD, так и в ImageMagick, так это получить шестнадцатеричные / rgb-коды для цвета фона, на который вы в конечном итоге собираетесь наложить. Затем используйте его в качестве цвета «фона». После поворота переведите этот цвет в прозрачный. Затем небольшие сглаженные края будут выглядеть гладкими, как только вы выполните наложение.