Привет, мне нужно перевернуть изображение thumpnail, прежде чем объединить его с другим файлом jpeg. но когда я поворачиваю 45 градусов, используя php. Он показывает черный фон. как я могу избежать этого. любой орган может мне помочь.Как избежать черного фона при повороте изображения на 45 градусов с помощью PHP?
ответ
<?
$image = "130.jpg";
$degrees = 25;
for($i=0;$i<count($data);$i++){
$ext = "";
$extarr = "";
$extarr = explode(".", $data[$i]['name']);
$ext = array_pop($extarr);
if($ext == "png"){
$rotate = imagecreatefrompng("images/".$data[$i]['name']);
$transColor = imagecolorallocatealpha($rotate, 255, 255, 255, 270);
$watermark1[$i] = imagerotate($rotate, ((360-$degrees)%360), $transColor);
}
}
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opct){
$w = imagesx($src_im);
$h = imagesy($src_im);
$cut = imagecreatetruecolor($src_w, $src_h);
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, (100 - $opct));
}
for($i=0; $i<count($watermark1); $i++){
if($i == 0) imagecopymerge_alpha($image, $watermark1[$i], $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);
else imagecopymerge_alpha($image, $watermark1[$i], ($i*$dest_x)*3, ($i*$dest_y)*15, 0, 0, $watermark_width, $watermark_height, $opacity);
imagedestroy($watermark1[$i]);
}
header("content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
Кроме того, сделать водяной знак изображение имеет альфа-канал, или они полностью непрозрачные?
Ну, если вы создаете jpg, используя PHP GD, вы задаете цвет фона как третий вариант функции imagerotate
. В этом примере я буду считать, что вы вращение JPG изображений $filename
произвольных $angle
градусов, и вы хотите, белый фон, то есть код цвета 16777215
:
$rotatedImage = imagerotate(imagecreatefromjpeg($filename), ((360-$angle)%360), 16777215);
черного цвет код 0
, который по умолчанию , а остальная часть цветовой гаммы находится между ними, так что вам просто нужно решить, какой цвет фона вы хотели
EDIT: для прозрачных слоев, если вы генерируете PNG вы могли бы сделать:
$destimg = imagecreatefromjpeg($filename);
$transColor = imagecolorallocatealpha($destimg, 255, 255, 255, 127);
$rotatedImage = imagerotate($destimg, ((360-$angle)%360), $transColor);
Надежда, что помогает
Как я могу сделать его прозрачным. Если бы я дал -1, он также отобразит белое заднее основание. – learner
@learner: Как я уже сказал, вы не можете. Изображения JPEG не поддерживают прозрачные фоны. – animuson
Можно ли изменить файл jpeg в формате gif при его загрузке. у вас есть другие предложения для меня. – learner
- 1. Радиан 90 градусов на 45
- 2. 45 градусов Google map
- 3. Повернуть изображение -45 градусов
- 4. Почему линия 45 градусов?
- 5. Данные изображения вращаются на 45 градусов после изменения размера
- 6. Центр изображения на квадрате, который повернулся на 45 градусов (или на фоне формы с бриллиантами) css
- 7. Перемещение в направлении 45 градусов
- 8. Поворот BarButtonItem на 45 градусов (анимированные)
- 9. Как вызвать функцию при повороте iPhone на 90 градусов?
- 10. Вставка изображения без черного фона, добавленного с помощью python
- 11. 45 градусов угол раскол цвет фона для сайта
- 12. Сохранить изображение с Canvas с помощью PHP без черного фона
- 13. Вращение 2D-массива на 45 градусов
- 14. 2x2 матрица вращения (45 градусов)
- 15. Как изменить цвет фона с черного фона?
- 16. sdl движение в 45 градусов
- 17. Snap fabric.Line до 45 градусов угол
- 18. Как избежать черного экрана при запуске приложения
- 19. Интерполяция 360 градусов Изображения из 8 изображений, которые находятся на 45 градусов.
- 20. OpenGL прозрачность черного фона
- 21. Построение линии с уклоном 45 градусов
- 22. андроид: маскировка Xfermode исчезает при повороте на 180 градусов Canvas
- 23. python: как повернуть линию 45 градусов
- 24. Как повернуть растровое изображение 45 градусов
- 25. Как избежать перевертывания камеры при повороте кватерниона?
- 26. Как повернуть прозрачный png на 45 градусов с помощью imagemagick и сохранить новое изображение прозрачным?
- 27. Поворот текстуры 45 градусов на плоскостьГеометрия с использованием UV-сопоставлений
- 28. Извлечение изображений с черного фона
- 29. CGContext рисовать 45 градусов линии совместного
- 30. Добавить стрелку при повороте изображения
Я не думаю, что вы можете. Фон должен быть установлен в цвет, поскольку изображения JPEG не поддерживают прозрачные фоны. Поэтому, если вы повернете на какой-то нечетный угол, он должен заполнить эти другие пиксели цветом. Я просто ушел с использованием PHP GD, потому что он делал так много случайных вещей, и я никогда не мог заставить ничего работать правильно. Это просто беспорядок. – animuson
Привет, сэр, извините, теперь я редактировал вопрос. если я поворачиваю его на 90, 180 и т. д., но мне нужно вращение на 25 или 40 градусов. но в это время он показывает это заднее основание – learner
@learner: если вы поворачиваете 90, 180 и т.д., изображение все равно будет содержаться в одной и той же «ограничительной рамке». Если вы повернете на 45 градусов, GD не будет знать, что положить в угловые пиксели, поскольку у исходного изображения ничего не было. – nico