Articles of imagemagick

当使用bas64string作为参数调用时,节点gm(imagemagick)似乎不起作用

我没有得到任何输出图像时,图像不是path&是基地64编码图像。 const image = 'base64 encoded string'; gm(image, ['jpeg']) .resize(72, 72) .strip() .write('./aks.png', function (err) { if (!err) console.log('done'); });

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 […]

Fille上传node.js,multer,imagemagick无法正常工作

以下是我的代码。 我在MVC模板中使用express。 我使用邮递员在表格数据模式下testing这条路线。 目录是public/images/avatar/1510932719839-BHqhegjFMc3Qf/只有我上传的文件(图片)不在其中。 我没有收到任何错误,没有任何问题,没有崩溃。 app.js let routes = require('./routes')(app, dbPool, passport, redisClient); app.use(express.static('public')); app.get("*", function (req, res) { fs.createReadStream("./public/index.html").pipe(res); }); app.use(bodyParser.urlencoded({ extended: true, limit: '50mb', parameterLimit: 10000 })); app.use(bodyParser.json()); app.listen(80); fileUploadRoute.js let FileUploadController = require('./../controllers/fileUploadController'); module.exports = function (app, dbPool, passport, redisClient) { let fileUploadController = new FileUploadController(dbPool, redisClient); let uploadRouteImage = "/api/upload/image/"; let […]

在nodejs中使用imagemagick调整图像大小时出错,如何解决这个问题?

我正在使用imagemagick库调整图像的大小以适应UI规范, 我已经通过以下cmd安装imagemagick:sudo npm install imagemagick 安装正确完成,但我在resize时出现错误, 我的代码: var im = require('imagemagick'); im.resize({ srcPath:"/tmp/"+imageName, dstPath:"/home/image/" + imageName, width:43, height :43, }, function(err, stdout, stderr){ if (err) { console.log('error while resizing image ' + err); } }); 我收到以下错误: Error: Command failed: execvp(): No such file or directory

使用ImageMagik获取所有客户端字体的列表?

我环顾四周,看到很多关于在系统上安装字体的问题,但是其中大部分都是以相反的方式询问我的。 人们在说“是字体X安装在系统上”,而是我正在寻找“系统上安装了什么字体”。 在另一篇文章中,我注意到有人从ImageMagik中使用以下代码获取了信息: <?php $imagick = new Imagick(); $fonts = $imagick->queryFonts(); foreach($fonts as $font) { echo $font; } ?> 这显示以下内容 <section class='columns six'><h1 id='Abyssinica-SIL-Regular'>Abyssinica-SIL-Regular</h1></section> <section class='columns six'><h1 id='AvantGarde-Book'>AvantGarde-Book</h1></section> <section class='columns six'><h1 id='AvantGarde-BookOblique'>AvantGarde-BookOblique</h1></section> <section class='columns six'><h1 id='AvantGarde-Demi'>AvantGarde-Demi</h1></section> <section class='columns six'><h1 id='AvantGarde-DemiOblique'>AvantGarde-DemiOblique</h1></section> <section class='columns six'><h1 id='Bitstream-Charter-Bold'>Bitstream-Charter-Bold</h1></section> 虽然它似乎没有显示客户端的字体,但它显示在SERVER端的字体。 这是真的? 如果这是真的,有没有办法使用ImageMagik或可能是一个不同的库显示所有客户端的字体?

child_process.spawn带括号的参数

我有一个imagemagick脚本,我需要在节点中使用。 它与child_process.exec函数工作正常。 我不知道如何发送一个stream到exec命令,所以我试图使用产卵。 这工作正常。 没问题。 var spawn = require('child_process').spawn; var args = [ '-', '-resize', '50%', './blank.png', '-composite', '-' ]; var convert = spawn('convert', args); 现在问题是我需要分开blank.png图像,并应用转换。 Image Magick没有问题。 http://www.imagemagick.org/Usage/basics/#parenthesis 所以开始使它看起来像这样。 convert image.jpg \ \( blank.png -resize 50% \) -gravity center -composite -composite output.jpg 我不能用nodejs中的spawn参数来解决这个问题。 我尝试过这样的事情。 var args = [ '-', '\( ', './blank.png', '-resize', '50%', […]

比较node.js中的图像(使用例如opencv)

我想要做的是使用node.js获取图像差异。 最终,我想有一个方法,期望例如两个文件path或图像数据输出减法。 不知何故,像imagemagick中的比较function。 就像是: var comparison_result = compareModule.compare('./image1.png', './image2.png'); 此外,我想获得标记差异的结果图像中的斑点位置。 喜欢这个: comparison_result.forEach(function(difference) { console.log("A difference occurred at " + difference.x + "|" + difference.y); }); 我安装了node-opencv ,但是我找不到将基本opencv c ++函数映射到node.js的文档。 我想使用的function是cvSub 。 我想避免使用js-imagediff,因为它与canvas一起工作,对“cairo”有依赖性,我不确定是否可以访问这些点,因为在文档中它似乎只是将差异作为图像返回。

使用GraphicsMagick / gm在添加的图像之间添加边距

使用节点的gm包,我可以水平追加三个图像: gm('img1.jpg').append('img2.jpg', true).append('img3.jpg', true).write('out.jpg'); 这创造了类似于: +—+—+—+ | 1 | 2 | 3 | +—+—+—+ 所有的图像接触。 但是,我想要10px的边距,所以看起来像这样: +—+ +—+ +—+ | 1 | | 2 | | 3 | +—+ +—+ +—+ 我可以通过创build一个条形图像,然后在每个图像之后添加它,但是这看起来相当黑。 有任何想法吗?

ImageMagick比较:从Node.js生成时退出代码1,但从命令行运行时退出代码0

$ compare –version Version: ImageMagick 6.9.1-1 Q16 x86_64 2015-04-15 http://www.imagemagick.org Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: DPC Modules Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png xml zlib $ node –version v0.10.33 我正在写一个Node.js脚本来为我自动处理一些图像。 当我尝试通过child-process.exec或child-process.spawn运行脚本时,它运行并正确完成,但是以代码1退出,而不是在脚本中引发错误的代码0。 当我在命令行上运行相同的脚本时,它将以代码0退出。 compare命令确实通过stderr返回的东西,这似乎是默认情况下,但我不需要该输出,如果需要的话,可以被压制。 我已经尝试添加 – -quiet没有区别。 这里的Node脚本为child-process.spawn (我也试过使用child-process.exec ): var spawn = require("child-process-promise").spawn, filenameA = "img0.png", filenameB […]

Graphicsmagick节点不写入JPG

我正在使用https://github.com/aheckmann/gm来调整图像大小。 var gm = require('gm').subClass({ imageMagick: true }); var fs = require('fs'); var dir = __dirname+'/img'; var readStream = fs.createReadStream(dir + '/Desert.jpg'); var writeStream = fs.createWriteStream(dir + '/resize.jpg'); gm(readStream) .size({bufferStream: true}, function(err, size) { this.resize(50, 50, '%') this.write(writeStream, function (err) { if (!err) console.log('done'); }); }); 我正在使用上面的代码来调整图像….问题是一个空的图像正在生成,错误信息是{[错误:写入EPIPE]代码:'EPIPE',errno:'EPIPE',系统调用:'写'}