使用 PHP 的 GD 函数,如何创建一个抗锯齿且具有透明背景的椭圆(带有 alpha 的 PNG24)?
我可以在透明背景上画一个圆圈,但它的边缘像素化。
我还可以使用 http://mierendo.com/software 在非透明背景上获得抗锯齿圆圈/antialiased_arcs/。
那么,我如何同时获得两者呢?
I'm able to draw a circle on a transparent background, but it's pixelated around the edges.
I can also get an anti-aliased circle on a non-transparent background with http://mierendo.com/software/antialiased_arcs/.
So, how do I get both?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
透明图像的问题在于,边框处的半透明像素将部分着色为您指定为透明颜色的颜色,如果您可以忍受这一点,那么您可以使用您指定的抗锯齿弧库,只需输入以下内容在他们的示例的开头(我使用了优化版本):
这将为您提供透明的 PNG 图像。由于我指定黑色作为透明颜色,因此圆圈在边缘附近将变为黑色,并且您只能在深色背景上使用它。
The trouble with transparent images is that the half-transparent pixels at the border will be partly colored with the color you specified as the transparent color, if you can live with that then you can use the antialiased arcs library you specified, just put the following at the beginning of their example (I used the optimized version) :
This will give you a transparent PNG image. Since I specified black as the transparent color, the circles will go to black near the edge, and you will only be able to use this on a dark background.