【问题标题】:What would be a good way to resize an image in either node or browser-side JavaScript?在节点或浏览器端 JavaScript 中调整图像大小的好方法是什么?
【发布时间】:2013-08-14 06:21:07
【问题描述】:

我正在将一些图像文件(格式可能会有所不同,但如果需要我可能会对其进行限制)上传到我的服务器并将它们作为 base64 编码字符串存储在数据库中。我想从这些图像中创建缩略图,这样当我只需要预览时就不会拉下整个图像。

大多数解决方案都涉及读取和写入路径,但我已将数据保存在内存中。是否有 JavaScript 或 Node.js 库或技术可以将文件压缩为字节数组或 base64 字符串?

谢谢。

【问题讨论】:

    标签: javascript image node.js resize


    【解决方案1】:

    试试 imagemagick 节点库。它具有各种图像处理功能。这是一个链接:

    node-imagemagick

    另外,this post on generating thumbnails efficiently with imagemagick 会有所帮助,我想。

    【讨论】:

      【解决方案2】:

      我对@9​​87654321@ 进行了一些试验,它的另一个好处是它与 HTML5 画布几乎相同。 您可以在节点或客户端使用相同的 drawImage API。

      node-canvas 自述文件还有一个关于如何调整图像大小的示例。

      fs.readFile(__dirname + '/images/squid.png', function(err, squid){
        if (err) throw err;
        img = new Image;
        img.src = squid;
        ctx.drawImage(img, 0, 0, img.width / 4, img.height / 4);
      });
      

      当然,您不需要从磁盘读取或写入图像。

      【讨论】:

        猜你喜欢
        • 2016-07-17
        • 2011-10-04
        • 2018-06-19
        • 2012-06-13
        • 1970-01-01
        • 2020-03-19
        • 2011-11-19
        • 1970-01-01
        • 2012-10-25
        相关资源
        最近更新 更多