如何在节点红色流中调整图像大小

伯恩德步枪

我有一个节点红色流,我从 REST API 获取一些图像作为 png 或 jpg 格式的二进制缓冲区。

动机:有些人不注意并将非常大的图片发布到博客服务。由于该服务的图片存储量有限,我想收听事件流并将每个传入图片的大小调整为“最长边 = 1024”,同时保持原来的纵横比。

现在我将二进制对象作为流中的缓冲区 - 但是如何在节点红色流中调整图像大小?我确实搜索了半天,但没有找到能够做到这一点的节点。有任何想法吗?

伯恩德步枪

我最终通过将条目“jimp”:“0.2.x”添加到 package.json 依赖项并添加到 settings.js 中的 functionGlobalContext 来使 jimp 公开可用:

functionGlobalContext: {
       mcrypto:require('crypto'),
       Jimp:require('jimp')
},

现在我可以通过简单地编写在函数节点中轻松使用它:

var JIMP = global.get("Jimp");
msg.image2 = {};
JIMP.read(msg.payload).then(function(image) {
    msg.image.width = image.bitmap.width;
    msg.image.height = image.bitmap.height;

    if (image.bitmap.height > image.bitmap.width){
        if (image.bitmap.height > 800){
            image.resize(JIMP.AUTO, 800)
            msg.image2.width = image.bitmap.width;
            msg.image2.height = image.bitmap.height;
            image.getBuffer(image.getMIME(), onBuffer);
        }
    }
    else {
            if (image.bitmap.width > 800){
            image.resize(800, JIMP.AUTO)
            msg.image2.width = image.bitmap.width;
            msg.image2.height = image.bitmap.height;
            image.getBuffer(image.getMIME(), onBuffer);
        }
    }
}).catch(function (err) {
    // handle an exception
    if (err) throw err;
});

function onBuffer (err, buffer) {
    if (err) throw err;
    msg.payload = buffer;
    node.send(msg);
}

return ;

这样我就解决了我的需要。欢迎更好的想法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ImageDataGenerator中调整图像大小

来自分类Dev

如何在UIWebView中调整图像大小?

来自分类Dev

如何在javafx中调整imageview图像的大小?

来自分类Dev

如何在JavaScript中调整大小和显示图像

来自分类Dev

如何在TensorFlow中绘制调整大小的图像?

来自分类Dev

如何在PHP中即时调整图像大小

来自分类Dev

如何在writeFile之前在Node JS中调整图像大小

来自分类Dev

如何在Android中调整图像大小以匹配父对象

来自分类Dev

如何在VB.Net中重新调整图像大小

来自分类Dev

如何在javascript / html中调整图像大小

来自分类Dev

如何在python中更快地调整图像大小

来自分类Dev

我如何在 python tkinter 中显示调整大小的图像

来自分类Dev

如何在 django ModelForm 中调整图像大小?

来自分类Dev

如何在 Animated.Image 中调整图像大小?

来自分类Dev

如何在滚动时调整图像大小?

来自分类Dev

在JavaFX中调整窗口大小时如何调整图像大小

来自分类Dev

如何在Android的CardView中调整图像大小以适合固定大小?

来自分类Dev

如何防止在CSS中调整图像大小?

来自分类Dev

如何调整伪元素中图像的大小?

来自分类Dev

如何调整图库中图像的大小

来自分类Dev

如何调整从图库中拍摄的图像的大小?

来自分类Dev

如何在使用 Javascript 提交图像之前在 Django Imagefield 中调整图像大小

来自分类Dev

如何为远程部署的节点红色流安装依赖节点。

来自分类Dev

如何根据屏幕大小调整php中的图像大小?

来自分类Dev

如何在iOS中调整UIView的大小?

来自分类Dev

如何在横向中调整UIPageViewController的大小

来自分类Dev

如何在Excel中调整图表大小

来自分类Dev

如何在JTabbedPane中调整JTable的大小

来自分类Dev

如何在Vala中调整窗口大小?

Related 相关文章

  1. 1

    如何在ImageDataGenerator中调整图像大小

  2. 2

    如何在UIWebView中调整图像大小?

  3. 3

    如何在javafx中调整imageview图像的大小?

  4. 4

    如何在JavaScript中调整大小和显示图像

  5. 5

    如何在TensorFlow中绘制调整大小的图像?

  6. 6

    如何在PHP中即时调整图像大小

  7. 7

    如何在writeFile之前在Node JS中调整图像大小

  8. 8

    如何在Android中调整图像大小以匹配父对象

  9. 9

    如何在VB.Net中重新调整图像大小

  10. 10

    如何在javascript / html中调整图像大小

  11. 11

    如何在python中更快地调整图像大小

  12. 12

    我如何在 python tkinter 中显示调整大小的图像

  13. 13

    如何在 django ModelForm 中调整图像大小?

  14. 14

    如何在 Animated.Image 中调整图像大小?

  15. 15

    如何在滚动时调整图像大小?

  16. 16

    在JavaFX中调整窗口大小时如何调整图像大小

  17. 17

    如何在Android的CardView中调整图像大小以适合固定大小?

  18. 18

    如何防止在CSS中调整图像大小?

  19. 19

    如何调整伪元素中图像的大小?

  20. 20

    如何调整图库中图像的大小

  21. 21

    如何调整从图库中拍摄的图像的大小?

  22. 22

    如何在使用 Javascript 提交图像之前在 Django Imagefield 中调整图像大小

  23. 23

    如何为远程部署的节点红色流安装依赖节点。

  24. 24

    如何根据屏幕大小调整php中的图像大小?

  25. 25

    如何在iOS中调整UIView的大小?

  26. 26

    如何在横向中调整UIPageViewController的大小

  27. 27

    如何在Excel中调整图表大小

  28. 28

    如何在JTabbedPane中调整JTable的大小

  29. 29

    如何在Vala中调整窗口大小?

热门标签

归档