PHP GD,imagepolygon(),如何使线条更流畅?

时间:2013-01-03 11:16:33

标签: php gd

我用PHP GD imagepolygon()绘制一些多边形。问题是我有很多可见的pizels,有没有办法让它们更顺畅?

The included image shows the problem, on all the edges i have quite heavy pixelating.

enter image description here

[编辑]

I have tried to use imageantialias() but i dont get it as good as im aiming for. 
I think that i will have to take a look at vector graphics, anyway, here is the image with anti-aliasing if anyone is interested

enter image description here

2 个答案:

答案 0 :(得分:3)

如果你的GD图像资源是真彩色的,并且你没有使用alpha组件(透明度),你可以调用imageantialias()来启用抗锯齿。

答案 1 :(得分:1)

避免线条图上像素化的最佳方法是使用矢量图形而不是基于像素的图形。

我接受这意味着要为您完全重写,但它会彻底解决问题(并且从长远来看会给您更大的灵活性)。

如果您决定沿着这条路走下去,我的建议是调查像Raphael这样的Javascript库。从您的PHP代码中,您将输出坐标数据而不是实际图形,然后使用Ajax将这些合并加载到您的Javascript代码中,并使用Raphael绘制图像。

我知道这不是你问题的直接答案,但我希望它能让你思考。 (我给了抗锯齿的答案+1,因为它对你来说是一个直接而好的答案)。