我在具有以下内容的远程服务器上获取图像:
var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
如何从斑点获取图像?我想使用此图像来获取其大小(使用getHeight()和getWidth())并对其执行其他操作。
谢谢
如果我的理解是正确的,那么这个答案呢?
在这种模式下,使用Google Apps脚本从图像数据的blob中检索宽度和高度。
不幸的是,在当前阶段,还没有方法可以直接从图像数据的斑点中检索宽度和高度。因此,我通过将二进制级别分析为GAS库来创建用于检索的脚本。库珀的评论也提到了这一点。使用此库,您可以使用Google Apps脚本直接从图像数据的blob中检索宽度和高度。
关于库的安装,请在此处检查。
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 ###
}
在这种模式下,使用Google文档检索宽度和高度。在这种情况下,请在高级Google服务中启用Drive API。
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)
}
在此模式中,通过将blob创建为文件来检索宽度和高度。在这种情况下,请在高级Google服务中启用Drive API。
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)
如果这个答案不是您想要的方向,我深表歉意。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句