使用php旋转图像后,我会看到锯齿状的边缘

时间:2010-11-15 19:05:39

标签: php rotation

所以我用php旋转图像并使背景透明。问题是我得到了锯齿状的边缘。有没有什么方法可以像边缘那样反别名?

我正在使用http://www.exorithm.com/algorithm/view/rotate_image_alpha这是我能找到的唯一能让我对背景透明的代码

2 个答案:

答案 0 :(得分:0)

我猜它糟糕的Internet Explorer。当我制作jQuery文本幻灯片时,我遇到了这个问题,我最终使用JPEG来淡入淡出。

答案 1 :(得分:0)

我没有PHP旋转产生的锯齿的解决方案,但....

旋转后的图像一旦旋转,您还没有说明您正在做什么?你只是在网站上展示它们吗?

如果这就是您所做的一切,我建议您考虑让浏览器使用CSS为您进行轮换。

以下样式表代码适用于所有当前浏览器(包括旧版本的IE):

.tilted {
  transform: rotate(45deg);  /* CSS3 (for when it gets supported) */
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);  /* FF3.5+ */
  -o-transform: rotate(45deg);  /* Opera 10.5 */
  -webkit-transform: rotate(45deg);  /* Saf3.1+, Chrome */
  font-weight:bold;
  filter: progid\:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476); /* IE6,IE7 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; /* IE8 */
}

(这是45度倾斜;可以随意修改其他角度,但你必须自己重新计算IE6 / 7/8滤镜的弧度!)。您可能需要进行其他调整以使其适合自己,例如设置高度和宽度等,但所有其他CSS样式应该继续正常工作。

现在你不需要PHP做艰苦的工作;浏览器可以做到这一点。更好的是,因为它在浏览器中,你可以用Javascript动态改变旋转。