使用带有 'convert' 的 GraphicMagick gm 调整图像大小会导致图像不一致

Image resize using GraphicMagick gm with 'convert' is resulting in inconsistent image

我一直在尝试使用 node.js gm 模块调整图像大小。它确实适用于大多数 images.But 当我尝试调整一些图像的大小时,背景颜色和图像中的文本是 overlapping.My 要求是在不改变背景颜色的情况下创建不同宽度的图像。

 gm.command('convert')
                .resize(100)
                .gravity('Center')
                .background('none')
                .extent(100)
                    .toBuffer('JPG', function(err, buffer) {
                        if (err) {
                            next(err);
                        } else {
                            next(null, buffer, key);
                        }
                    });

下图为原图

调整大小后的图片如下

我确实尝试删除背景并尝试添加透明('white'),但这并没有给我预期的输出。但是,当我使用普通转换命令行工具调整大小时,它的工作方式为 expected.But 我的代码正在使用 node-js gm 模块并部署在 AWS Lambda

谁能帮我解决这个问题。

JPG 不支持透明度。尝试将输出保存为 PNG 或 TIFF。您也可以尝试使用 ImageMagick 而不是 GraphicsMagick。以下在命令行 ImageMagick 中对我来说很好用:

convert image.png -resize 100 -background none -gravity center -extent 100 result.png