0
我一直在尝试实施评级显示程序,以通过在PHP文件中传递的星星形式进行评级。Imagecopy不能正常工作
下面的代码为rate.php:
$filename= "rating.png";
$rating = $_GET['rating'];
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefrompng($filename);
$dst_im = imagecreatefrompng("rating_back.png");
$src_x = '0'; // begin x
$src_y = '0'; // begin y
$src_w = $w * $rating/5; // width
$src_h = $h; // height
$dst_x = '0'; // destination x
$dst_y = '0'; // destination y
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
header("Content-type: image/png");
imagepng($dst_im);
imagedestroy($dst_im);
$rating
是一个浮点值,如每GET请求。 但是当我尝试使用下面的图像来实现rate.php?rating=4.3
:
“rating.png”:
“rating_back.png”:
我得到的以下结果:
可能导致最终图像背景异常的错误是什么?
请给出可能的解决方案。
在此先感谢:)
我imagecopy的以前做过前(); – 2014-09-26 17:53:28
而且...它的工作原理! :) 但你能告诉我为什么imagecopy()不能单独工作? 这两个图像都有相同的透明区域,那么为什么会发生这种情况? – 2014-09-26 17:59:52
'imagecopy'完成它应该做的事情,但GD在保存时不会保存默认的alpha值。为什么GD作者选择这种行为?我不知道 – 2014-09-26 18:10:37