Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS和GraphicsMagick:resize()会破坏图像质量_Javascript_Node.js_Image Resizing_Graphicsmagick - Fatal编程技术网

Javascript NodeJS和GraphicsMagick:resize()会破坏图像质量

Javascript NodeJS和GraphicsMagick:resize()会破坏图像质量,javascript,node.js,image-resizing,graphicsmagick,Javascript,Node.js,Image Resizing,Graphicsmagick,我正在使用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) { ...

我正在使用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) {
        ...
    };
gm.resize({
  srcData : img,
  strip : false,
  width : 173,
  height : "173^",
  customArgs: [ 
    "-gravity", "center"
    ,"-extent", "173x173"
  ]
}).write("/path/to/write", function (err) {
我想我做错了什么,但我找不到哪里出了错。 我搜索了文档,搜索了,搜索了这里所有的问题,但是我没有发现任何人有和我一样的问题


非常感谢您的帮助

大图像等于大问题

这不仅是因为你失去了质量,还因为这个过程所花费的时间

我建议您使用以下方法或深入调整指定参数的大小:

// ... "data" is the Buffer object I obtain from the upload
gm(data)
    .quality(100)
    .resize(600)
    .write("/path/to/write", function (err) {
        ...
    };
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的方法相同


希望这有助于解决大问题

这不仅是因为你失去了质量,还因为这个过程所花费的时间

我建议您使用以下方法或深入调整指定参数的大小:

// ... "data" is the Buffer object I obtain from the upload
gm(data)
    .quality(100)
    .resize(600)
    .write("/path/to/write", function (err) {
        ...
    };
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的方法相同


希望这有帮助

我也有gm的图像质量问题,然后我使用了这个模块。
这对我有用。我调整大小后的图像质量要好得多

我也有gm的图像质量问题,然后我使用了这个模块。
这对我有用。我调整大小后的图像质量好多了

谢谢您的建议!我在文档中找不到resize()的这些参数。你有没有一个链接或什么东西可以让我更深入地了解细节?这是因为我在imagemagick中使用gm,这是一个大问题谢谢你的建议!我在文档中找不到resize()的这些参数。你有没有一个链接或什么东西可以让我读得更详细一些?这是因为我用gm和imagemagick,这是一个巨大的胜利