在PHP中创建矢量图像以允许升级

时间:2013-04-22 23:23:42

标签: php image vector imagick cairo

这个问题有点长,所以我会尽量明白。

在我共同开发的网站上,我创建了一个绘图应用程序,它将有关<canvas>元素上绘制的线条的数据发送到服务器,以创建图像并将其保存为多种尺寸,这样可行。标准保存保存为320x212,较小版本保存为240x176。 但是,我网站上的一些用户使用相当陈旧的设备/浏览器来处理应用程序。它也有一个较小的视口,所以图像较小,所以服务器端我正在将坐标相乘,以便在将图像保存到标准尺寸时进行补偿。但这会产生图像随机未填充部分的副作用,这些部分会在画布上填充。

Example image http://socialcu.be/Images/qn/fd3127b2a03dc5fddcb4c47bb40fc1d87dd2/e5567e491d0dabb1d494e326c671b10b4eaf09d8bf9d545a4d.png

(在较小设备视口的画布上,整个底部部分为绿色,而我的方法是将坐标乘以补偿,导致许多未填充的部分出现在放大的图像上)

所以我的第一个问题是,将图像作为矢量图像,将其缩放(仍然是矢量),然后将其保存为光栅图像修复该问题?

其次(如果第一个答案是肯定的),那么在PHP中这样做的最佳方法是什么?我听说过开罗,但是关于它的信息(即PHP包的教程)非常缺乏。最理想的是,有没有办法在Imagick中做到这一点,或者有关如何使用Cairo的教程?

1 个答案:

答案 0 :(得分:1)

Cairo肯定缺乏PHP网站上的文档,因此这将是一个更难学习的设置。我在Cairo方面通过Google找到了几个链接。有一篇关于某人使用它的经历的博文:Getting started with Cairo

该帖子中引用的是couple of walk-thrus by Michael Maclean

在imagick网站上有很多examples of drawing with imagick,从在线研究的外观和示例中,imagick有一个更好的支持社区(目前)。 imagick会输出光栅图像。