0

这个问题有点长,所以我会尽量清楚。

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

示例图片
(来源:socialcu.be

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

所以我的第一个问题是,将图像制作为矢量图像,将其放大(同时仍然是矢量),然后将其保存为光栅图像可以解决该问题吗?

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

4

1 回答 1

1

Cairo肯定缺乏 PHP 站点上的文档,因此学习起来会更加困难。我通过 Google 找到了一些关于Cairo的链接。这里有一篇关于某人使用它的经验的博客文章:开罗入门

在那篇文章中引用了Michael Maclean 的一些演练

在 imagick 网站上有很多使用 imagick 绘图的示例,并且从在线可用示例研究的外观来看,imagick 有一个更好的支持社区(目前)。imagick 会输出一个光栅图像。

于 2013-04-23T01:31:35.767 回答