在表格中将图像大小调整为一致的宽度

问题描述 投票:0回答:1

我有一张纸,上面有四个问题。根据每个问题的答案,由于图像文件的大小不同,因此会出现不同的图像。我需要设置固定宽度以防止它们重叠。我一直在测试,只是在需要的地方获取一张图像,但到目前为止都失败了。

我当前的版本有时可以工作;其他时候,它会显示图像三次,有些缩放,有些不缩放。我正在努力排除故障,因为我不完全理解代码在做什么。

我希望这是一个非常简单的修复。

我从基础开始,只是将图像输入:

function sized_image()  {
  var ss = SpreadsheetApp.getActive();
  var img = ss.getRange('B3').getValue();
  ss.insertImage(img,4,4).
}

效果很好。我觉得我真的很接近,但我似乎无法调整图像大小。这是我的代码的当前版本:

function sized_image()  {
  var ss = SpreadsheetApp.getActive();
  var img = ss.getRange('B3').getValue();
  var finalimg = ss.insertImage(img,6,6);
  var orgW = finalimg.getWidth();
  var orgH = finalimg.getHeight();
  var tgtW = 500
  var ratio = orgW / tgtW
  var newH = orgH / ratio
  ss.insertImage(img,4,4).setWidth(tgtW).setHeight(newH);
  finalimg.setWidth(tgtW).setHeight(newH);
}

注意:我有

ss.insertimage(img,4,4)
作为用于故障排除的不同图像位置。

我意识到这是一个非常基本的代码,遗憾的是,我只是通过大量谷歌搜索才到达这里的,现在在适应了一些不同的解决方案后发现自己迷失了。

所有图片均为 Google Drive 图片,

img
http://drive.google.com/uc?export=view&id=
链接。

javascript google-apps-script google-sheets image-resizing
1个回答
0
投票

停止过度思考。使用图像编辑器创建具有所需文件大小的图像文件,而不是计算尺寸并在每次插入图像时更改图像。

© www.soinside.com 2019 - 2024. All rights reserved.