0

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

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

在此处输入图像描述

[编辑]

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

在此处输入图像描述

4

2 回答 2

3

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

于 2013-01-03T11:34:49.137 回答
1

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

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

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

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

于 2013-01-03T11:40:28.307 回答