php – 使用imagettftext和imagecolortransparent实现真正的透明
发布时间:2020-12-13 22:32:40 所属栏目:PHP教程 来源:网络整理
导读:使用带有透过imagecolortransparent渲染的图像的imagettftext时,文本的边框似乎与原始背景颜色(黑色)混合而不是透明度,从而创建如下所示的文本轮廓: http://i.stack.imgur.com/xLSkK.png而不是使用imagestring,这里: http://i.imgur.com/5R0gT.png 现在我
使用带有透过imagecolortransparent渲染的图像的imagettftext时,文本的边框似乎与原始背景颜色(黑色)混合而不是透明度,从而创建如下所示的文本轮廓:
http://i.stack.imgur.com/xLSkK.png而不是使用imagestring,这里: http://i.imgur.com/5R0gT.png 现在我不确定是否有更好的方法来组合图像,以便从一开始就创建透明,或者如果有其他透明度方法我不知道.这是我正在使用的相关PHP代码: if ($type) { $icon = imagecreatefrompng("images/" . $type . ".png"); } else { die('Invalid type. Valid types are: arcane,elysian,divine,spectral'); } $img = imagecreatetruecolor(128,25); $black = imagecolorallocate($img,0); imagecolortransparent($img,$black); imagecopymerge($img,$icon,28,25,100); imagettftext( $img,16,30,20,$col,$font,$input_num ); header( "Content-type: image/png" ); imagepng( $img ); 解决方法
imagecolortransparent因为抗锯齿而无法正常工作—轮廓附近的背景颜色不是真正的黑色.你最好的选择是首先使用带有透明区域的PNG图像而不是带有黑色背景的PNG图像.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |