我正在为我的网站制作皮肤预览器;我需要旋转图像的一部分来为我的用户创建一个表示。如何在保持透明度的同时在GD图像库中旋转图像?
皮肤是一个PNG文件,并且它的所有部分可能具有透明度,甚至根本没有。
我需要能够同时保持图像透明内部的任何透明度,旋转这一形象,同时还具有扩展边界(你知道,这是不是图像的一部分,它被旋转之前的区域)是透明的。
我所有的尝试都留下了图像本身周围的黑色边框。
任何帮助?
我正在为我的网站制作皮肤预览器;我需要旋转图像的一部分来为我的用户创建一个表示。如何在保持透明度的同时在GD图像库中旋转图像?
皮肤是一个PNG文件,并且它的所有部分可能具有透明度,甚至根本没有。
我需要能够同时保持图像透明内部的任何透明度,旋转这一形象,同时还具有扩展边界(你知道,这是不是图像的一部分,它被旋转之前的区域)是透明的。
我所有的尝试都留下了图像本身周围的黑色边框。
任何帮助?
-
imagesetbrush($destimg, $srcimg);
// x, y are the center of target paste location
imageline($destimg, $x, $y, $x, $y, IMG_COLOR_BRUSHED);
我用它来旋转PNG和维护透明的颜色。奇迹般有效。这是“基本的GD”。
$rotation = 135;
$handle_rotated = imagerotate($handle_not_rotated,$rotation,0);
imagealphablending($handle_rotated, true);
imagesavealpha($handle_rotated, true);
不知道它是你在找什么?
你旋转图像的方形或矩形部分?你会旋转90,180,270还是任意度数? – 2010-11-04 17:48:34
任意。矩形和正方形。 – 2010-11-04 18:44:46