首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CollectionFS变换前获取图像维数

CollectionFS变换前获取图像维数
EN

Stack Overflow用户
提问于 2016-02-28 20:30:54
回答 1查看 142关注 0票数 1

我想调整大小的图片在上传与流星CollectionFS。但我想根据图像尺寸来调整尺寸。例如,我希望将1000x500大小的图像调整为1024x512,而将60x100调整为64x128 --为此,我需要了解源维度。

我的代码是基于CollectionFS 文档提供的代码

代码语言:javascript
复制
var createThumb = function(fileObj, readStream, writeStream) {
  // Transform the image into a 10x10px thumbnail
  gm(readStream, fileObj.name()).resize('10', '10').stream().pipe(writeStream);
};

我如何在这里获得源维度,以使我的调整大小目标动态?也许有一些图形化的功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-29 08:01:16

有一个异步GraphicsMagick函数,用于返回图像的大小(维度)。

代码语言:javascript
复制
gm(readStream).size({ bufferStream: true }, function(err, value) {
    var w = 100, h = 100;

    //modify logic here to set the desired output width/height, based on the source width/height
    if (value.width == 60 && value.height == 100) {
         w = 64;
         h = 128;
    }

    //"this" is the gm context, so you can chain gm functions to "this" inside the size callback.
    this.resize(w, h).stream().pipe(writeStream);
});

gm国家预防机制一揽子计划”页面中关于以下内容的说明:

理解:在处理输入流和任何‘标识’操作(大小、格式等)时,如果还需要转换(写()或后的图像),则必须传递“{:true}”--注意:这会在内存中缓冲readStream!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35687890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档