【发布时间】:2014-02-02 14:21:12
【问题描述】:
所以我正在尝试创建一个指南针来显示风向。
Function rotate($angle) {
$original = imagecreatefrompng("img/Arrow.png");
$compass = imagerotate($original, $angle, 0);
return $compass;
}
这将使用我正在回显的一些 html 来显示。变量角度是从数据库传递的。 php脚本上的html是这样的:
<img src='".rotate($row['wind_dir'])."'/>
图像从不显示,显然浏览器不知道它在哪里。
当我在浏览器中查看 html 时,上面的行显示为
<img src="Resource id #4"/>
当我点击它时,它会导航到 404。
我做错了什么?我是不是忘记了图像旋转功能中的一行?
编辑: 尝试了以下一些回复后,我得到了一张图片,但它只显示为一个黑框!
EDIT2:
经过一番折腾,结果发现只需要将imagerotate() 的第三个值改为-1,如下所示:
$original = imagecreatefrompng("img/goog.png");
$compass = imagerotate($original, $angle, -1);
imagealphablending($compass, true);
imagesavealpha($compass, true);
header('Content-Type: image/png');
imagepng($compass);
imagedestroy($compass);
【问题讨论】:
-
我无法想象这段代码效率太高。每次加载页面时,您都会创建一个图像。您是否考虑过改用 CSS 或 JS 旋转?
-
即使你已经解决了这个问题,你也应该注意别人所说的话。这是非常低效的。
标签: php html image image-rotation