Articles of gm

GraphicsMagick无法处理Unicode文件名

我发现GraphicsMagick无法处理我的中文文件。 我在ImageMagick上做了同样的testing,但IM按预期工作。 我认为这可能是一个错误,所以我在这里提交了一个错误报告: https : //sourceforge.net/p/graphicsmagick/bugs/384/ 无论如何,这是如何重现我的情况: 平台:Win10 版本:GraphicsMagick 1.3.20 代码: gm -identify 獅藝學會.jpg 这是从命令提示符返回的文本: >gm -identify 獅藝學會.jpg gm identify: Unable to open file (????.jpg) [Invalid argument]. gm identify: Request did not return an image. 使用IM工作: identify 獅藝學會.jpg ç?.è-?å-,æoƒ.jpg JPEG 3264×2448 3264×2448+0+0 8-bit sRGB 2.691MB 0.016u 0:00.004 虽然返回的文本是混乱的,但是将文件转换为.png仍然保持相同的文件名,除了不同的扩展名。 发生了什么 我发现这个问题通过使用gm node.js库批处理我的图像,调用的来源是从UTF-8网页,所以我假设文件名是作为Unicode编码传递 。 我发现没有任何与此问题有关的文档,虽然文档指出有一个-encoding选项,它不能在Windows上作为参数发送,因为它不能识别它,我无法在Google上find相关的解决scheme。 请帮忙,有没有简单的方法解决这个问题,同时保持确切的文件名?

Nodejs蓝鸟诺言在处理图像时失败

//Created a promise for each image size. var promises = sizes.map(function (size) { return new Promise(function (resolve, reject) { var destinationDir = fileUtil.getAbsolutePathOfImage(destinationPath); fileUtil.createDirectoryIfNotExists(destinationDir); destinationDir += size.src; fileUtil.createDirectoryIfNotExists(destinationDir); //Resize the image. //console.log('imagefile : ' + JSON.stringify(imageFile)); //console.log('destinationDir: ' + JSON.stringify(destinationDir)); //Called an imageUtil resize method to perform resize. imageUtil.resize(imageFile, destinationDir, size).then(data => { var fileName […]

如何添加居中文本与gm节点(graphicsmagick / imagemagick)?

这涉及节点的“gm”扩展, http://aheckmann.github.io/gm/docs.html 我需要添加一些围绕边界框的文本(水平就足够了)。 函数drawText()需要x,y坐标,但是没有办法绘制居中文本。 否则我需要一个函数,它可以返回给定的字体/大小的文本string的宽度,所以我可以在调用drawText()之前计算我在JavaScript中的起始位置。

如何wordwrap在gm节点?

今天发现GM需要在我的图片中包含文字。 有没有办法确保我的文字包装宽度是否比我的图像宽度更长?