Tag: imagemagick convert

Node.js GraphicsMagick不工作(无效的参数 – – 大小)

我正在尝试使用Graphics Magick来调整图像大小。 我已经安装了最新的GrapchicsMagick和ImageMagick版本。 我已经安装了 npm install gm npm install im 太。 我的node.js代码是: var gm = require('gm').subClass({imageMagick: true}); var srcPath = __dirname + '\\' + userId + '.jpg'; var dstPath = __dirname + '\\' + userId + '-thumbnail.jpg'; gm(srcPath) .resize(100, 100) .noProfile() .write(dstPath, function (err) { if (!err) console.log('Image resized'); else console.log(err); }); 我得到这个错误: Error: Command […]

用imagemagick与NodeJs平铺图像

有了这个脚本,我可以将我的(4096×2048)图像拼接成32个图块(512×512)。 我想给每个导出的图像配一个“X,Y,Z”坐标。 现在我想总是保持Z为0。 例: 输出1-0-0.jpg 输出1-1-0.jpg var http = require("http"); var im = require("imagemagick"); var server = http.createServer(function(req, res) { im.convert(['img.jpg','-crop','512×512','output.jpg'], function(err) { if(err) { throw err; } res.end("Image crop complete"); }); }).listen(8080); 除此之外,对于这个愚蠢的问题,不要将图像名称放入脚本中,我可以调用GET请求来裁剪并获取所有图像作为服务。 提前致谢

ImageMagick:string中的表情符号被写为问号

我正在使用ImageMagick(在NodeJS中)在svg图像上写入一个string。 如果string中有一个标准的unicode表情符号,则呈现为“?”。 “这个string里有一个表情符号” 获取呈现为: “这个string里有一个”表情符号“ 有没有办法让ImageMagick呈现string与实际的表情符号?

在命令行上使用ImageMagick将PDF转换为图像

嗨,我想转换PDF格式的图像使用ImageMagick,它是抛出以下错误: $ convert error720.pdf error720.png convert.exe: FailedToExecuteCommand `"C:/Program Files (x86)/gs/gs9.09/bin/gswin 32c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 – dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsA lphaBits=4 "-r72x72" "-sOutputFile=C:/Users/SURESH~1/AppData/Local/Temp/magick- 4680NzHfmhYvSbW4%d" "-fC:/Users/SURESH~1/AppData/Local/Temp/magick-4680Wqgv9awWP WwC" "-fC:/Users/SURESH~1/AppData/Local/Temp/magick-4680KJ2X0fSVMwXJ"' (-1) @ er ror/utility.c/SystemCommand/2051. convert.exe: no images defined `error720.png' @ error/convert.c/ConvertImageComm and/3187. 我正在运行Windows 8 64位。

用Node.js处理大stream

这里是我尝试使用节点和imagemagick转换工具将svgstring转换为png缓冲区。 然后使用pdfkit使用png缓冲区在pdf中绘制图像。 Td; lr我有一个大的svgstring,需要进入一个subprocess“整体”(即不分块)。 我该怎么做? 这是一个适用于小文件的例子。 var child_process = require('child_process'); var pdfDocument = require('pdfkit'); var convert = child_process.spawn("convert", ["svg:", "png:-"]), svgsrc = '<svg><rect height="100" width="100" style="fill:red;"/></svg>'; convert.stdout.on('data', function(data) { console.log(data.toString('base64') doc = new pdfDocument() doc.image(data) } convert.stdin.write(svgsrc); convert.stdin.end() 当svgstring是'small'时(如在示例中提供的那样),这是有效的 – 我不确定从小到大的切断位置。 但是,当试图使用更大的svgstring(你可能使用D3生成的东西)像这样[ 大string ]。 我碰到: 错误:不完整或损坏的PNG文件 所以我的问题是:如何确保convertsubprocess在处理之前读取整个stream? 有几件事是已知的: PNG缓冲区确实是不完整的 。 我使用了diff工具来检查应用程序生成的base64string与png-to-svg转换器的base64在线。 未损坏的string比损坏的string大得多。 (对不起,我没有更具体的文件大小)。 也就是说,转换工具似乎在任何时候都不会读取整个源文件。 源svgstring没有被破坏 […]