我使用GraphicsMagick来调整大小并存储上传到我的Web应用程序的图像。 问题是即使将质量设置为100,图像质量也会被破坏,看起来非常难看。
我使用的代码是这样的:
// ... "data" is the Buffer object I obtain from the upload
gm(data)
.quality(100)
.resize(600)
.write("/path/to/write", function (err) {
...
};
我认为我做错了什么,但我无法找到错误的地方。 我搜索了文档,我已经用Google搜索了所有问题,但是我没有发现任何人遇到与我相同的问题。
非常感谢所有帮助!非常感谢!
答案 0 :(得分:0)
大图像等于大问题。
不仅因为您丢失了质量,还因为这个过程需要时间。
我建议您使用thumbnail方法执行此操作,或深入调整使用imagemagick使用Using an external database with Google App Engine指定参数,方法如下:
gm.resize({
srcData : img,
strip : false,
width : 173,
height : "173^",
customArgs: [
"-gravity", "center"
,"-extent", "173x173"
]
}).write("/path/to/write", function (err) {
...并避免嵌套和联接功能。
要使用imagemagick,您可以这样做
var imageMagick = gm.subClass({ imageMagick: true });
然后使用imageMagick,就像你通常使用gm一样。
希望这有帮助
答案 1 :(得分:0)
我还有gm的图像质量问题,然后我使用了这个模块。 https://github.com/oliver-moran/jimp它对我有用。调整后的图像质量要好得多