gpt4 book ai didi

google-app-engine - 谷歌应用脚​​本: how to get image from blob?

转载 作者:行者123 更新时间:2023-12-02 03:06:08 25 4
gpt4 key购买 nike

我在远程服务器上获取图像:

  var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();

如何从 blob 中获取图像?我想使用此图像来获取其大小(使用 getHeight() 和 getWidth())并对其执行不同的其他操作。

谢谢

最佳答案

  • 您想要使用 Google Apps 脚本直接从图像数据 block 中检索宽度和高度。

如果我的理解是正确的,这个答案怎么样?

模式 1:

在此模式中,宽度和高度是使用 Google Apps 脚本从图像数据 block 中检索的。

不幸的是,在现阶段,还没有方法可以直接从图像数据 block 中检索宽度和高度。因此,我通过分析二进制级别创建了检索脚本 a GAS libraryCooper's comment也提到了这一点。借助此库,您可以使用 Google Apps 脚本直接从图像数据 block 中检索宽度和高度。

示例脚本:

关于库的安装,请查看here .

var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
var res = ImgApp.getSize(fileBlob);
Logger.log(res)
结果:
{
identification : ### BMP, GIF, PNG and JPG ###,
width : ### pixel ###,
height : ### pixel ###,
filesize : ### bytes ###
}
  • 在此库中,可以从 BMP、GIF、PNG 和 JPG 中检索宽度和高度。

模式 2:

在此模式中,使用 Google 文档检索宽度和高度。在这种情况下,please enable Drive API at Advanced Google services.

示例脚本:

function getSize_doc(blob) {
var docfile = Drive.Files.insert({
title: "temp",
mimeType: "application/vnd.google-apps.document",
}).getId();
var img = DocumentApp.openById(docfile).insertImage(0, blob);
Drive.Files.remove(docfile);
return {width: img.getWidth(), height: img.getHeight()};
}

function main() {
var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
var res = getSize_doc(fileBlob);
Logger.log(res)
}
  • 在此脚本中,首先将 Google 文档创建为临时文件,然后从 Blob 插入的图像中检索宽度和高度。然后,临时文件被删除。

模式 3:

在此模式中,通过将 blob 创建为文件来检索宽度和高度。在这种情况下,please enable Drive API at Advanced Google services.

示例脚本:

var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
var res = Drive.Files.insert({title: "temp"}, fileBlob);
Drive.Files.remove(res.id);
Logger.log(res.imageMediaMetadata.width)
Logger.log(res.imageMediaMetadata.height)
  • 在此脚本中,首先从 blob 创建一个文件作为临时文件,并从创建的文件中检索宽度和高度。然后,临时文件被删除。

引用文献:

如果这个答案不是您想要的方向,我深表歉意。

关于google-app-engine - 谷歌应用脚​​本: how to get image from blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58959206/

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