我正在使用Google幻灯片API。 我需要从演示文稿A拍摄一张要复制粘贴到演示文稿B中的图像。
我使用演示文稿A中的“ presentations()。get”方法来获取图像。然后,我在batchUpdate方法中使用“ createImage”和“ updateImageProperties”请求来更新演示文稿B。
不幸的是,我无法更新作为只读属性的cropProperties,透明度,亮度,对比度和重新着色。
因此,我在演示文稿B中的图像与从演示文稿A中获得的图像不同(例如,任何裁剪的图像都呈现出可怕的效果)。
这是我所讨论的代码的一部分。
def insert_image(pageElement, page_id):
image_id = str(uuid.uuid4())
requests = []
requests.append({'createImage': {'objectId': image_id, 'url': pageElement['image']['contentUrl'], 'elementProperties': {
'pageObjectId': page_id, 'size': pageElement['size'], 'transform': pageElement['transform']}}})
requests.append({'updateImageProperties': {'objectId': image_id,
'imageProperties': pageElement['image']['imageProperties'], 'fields': "outline,shadow,link"}})
return requests
是否有任何变通办法将正确的属性应用于我的图片B?
我正在考虑2种方法: -使用Google AppScript -将图像作为裁剪后的图像保存在磁盘上
在这个问题上任何帮助都将是惊人的:)
答案 0 :(得分:0)
前一段时间,我遇到了同样的问题。作物属性是只读的真是令人讨厌。我找到了一个不太理想的解决方案。它不是最快或最干净的,但是可以完成工作。我的工作是通过Apps Script完成的,但我认为批处理请求应该是相同的。 基本上,这些步骤是:
不幸的是,这很慢,因为它必须重新获取每个图像。另外,您无法控制确切的裁剪。它将在框架中居中。
希望这会有所帮助