gpt4 book ai didi

node.js - 在 Azure Functions 上使用 ImageMagick 或 GraphicsMagick

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:51 25 4
gpt4 key购买 nike

我想看看我的公司是否可以使用 Azure Functions 自动将 TIFF 文件转换为多种 JPG 和 PNG 格式和大小。我正在 Node.js 中使用 Functions,但也可以使用其他语言。

我的问题是,我无法让 GraphicsMagick 或 ImageMagick 在函数上工作。我使用 npm install 进行正常的安装过程。

似乎安装正常,并且模块似乎也加载了,但是当我尝试处理文件时没有任何反应。没有什么,也没有错误。

var fs = require('fs'); var gm = require('gm');

module.exports = function (context, req) { context.log('Start...');

try {
context.log('Looking for GM...');
context.log(require.resolve("gm"));
} catch(e) {
console.log("GM is not found");
process.exit(e.code);
}

gm('D:/home/site/wwwroot/HttpTriggerJS1/input/870003-02070-main-nfh.jpg')
.resize(240, 240)
.noProfile()
.write('D:/home/site/wwwroot/HttpTriggerJS1/output/resize.jpg',
function (err) {
context.log('TEST');
if (!err) {
context.log('done');
}
}
);

context.done(null, res); };

我不确定这是否可能,但我还没有找到任何信息表明它不能

那么,我可以在 Functions 中使用 ImageMagick、GraphicsMagick 或第三个图像转换器吗?如果是的话,安装时有什么特别需要注意的吗?

是否还有 C# 解决方案?

最佳答案

Azure 中的 Web 应用是一种 SaaS(软件即服务)。您可以将您的部分部署到 Azure IIS 容器,Azure 会完成剩下的工作。我们没有太多的控制权。因此,我们将无权在 Azure Functions App 上安装任何第 3 方可执行文件(例如 ImageMagick 或 GraphicsMagick)。如果您需要这样做,请查看虚拟机。另一种选择是使用云服务的 Web 或辅助角色。

或者,有一个很好的 Node 图像处理库,完全用 JavaScript 编写,具有零外部或 native 依赖项,​​Jimp。 https://github.com/oliver-moran/jimp

使用示例:

var Jimp = require("jimp");

Jimp.read("lenna.png").then(function (lenna) {
lenna.resize(256, 256) // resize
.quality(60) // set JPEG quality
.greyscale() // set greyscale
.write("lena-small-bw.jpg"); // save
}).catch(function (err) {
console.error(err);
});

还有另一个名为 sharp 的 Node.js 库达到你的要求。您可以尝试以下方法:

首先,在本地环境中安装 Sharp,然后使用包含已编译模块的 node_modules 文件夹将应用程序部署到 Azure。最后,将 Azure 应用服务上的 Node 可执行文件升级到 64 位。

类似的帖子你可以引用here .

使用示例:

var sharp = require("sharp");

sharp(inputBuffer)
.resize(320, 240)
.toFile('output.webp', (err, info) => {
//...
});

关于node.js - 在 Azure Functions 上使用 ImageMagick 或 GraphicsMagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40650564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com