有没有更好的方法来使用PHP对图像进行反锯齿修正而不是调整大小?

时间:2013-10-31 09:35:03

标签: php image performance antialiasing

我是Wave Framework的开发人员,我最近为我的按需图像加载器实现了圆角(仍未发布的提交) - 这允许设计者通过裁剪图像并调整大小或向其添加过滤器来获取图像-the去。

您可以在http://www.waher.net/w/resources/images/400x200&nw40&se190&ne10&aa4&liisu.jpg

查看此示例

在原始帖子中显示的示例中,它的工作方式如下:

  • 获取原始图片(http://www.waher.net/w/resources/images/liisu.jpg)。
  • 将图像大小调整为400px或200px,然后裁剪掉新画布中剩余的部分。
  • 将图片尺寸增加4(网址中的'aa4'参数)。
  • 使用imagearc()和imagefilltoborder()函数添加圆角('nw40','se190'和'ne10'参数,分别代表西北40px,东南190px和东北10px)到调整大小图像。
  • 将图像尺寸减小4,产生最终圆角400x200px图像。

虽然这有效,但可能会导致性能问题。由于我允许反锯齿高达8,这可能意味着1600x800图像将被调整为12800x6400 - 这绝对是危险的,并且可能因内存问题而终止请求。

在这种情况下,有更好的方法来实现抗锯齿吗?

编辑:另请注意,在这种情况下,ImageMagick不是一个选项,因为PHP默认情况下没有启用,并且可以在多个托管服务中使用。

0 个答案:

没有答案