我想使用应用程序脚本翻转图像。但它没有翻转到位。我想原地翻转而不是将图像移动到其他位置。我尝试过
function myFunction() {
var image = SlidesApp.getActivePresentation().getSlides()[0].getImages()[0]
image.scaleWidth(-1)
}
图片
预期中
得到的结果
您需要将位置移动一个尺寸:
const t = img.getTransform()
img.setTransform(
t.toBuilder()
.setScaleX(-t.getScaleX())
.setTranslateX(t.getTranslateX() + t.getScaleX() * img.getInherentWidth())
.build()
)
这通过改变矩阵变换来翻转图像。基本上是图像大小的缩放和移动。
只需修改即可
function myFunction() {
var image = SlidesApp.getActivePresentation().getSlides()[0].getImages()[0]
var l = image.getLeft();
var w = image.getWidth();
image.scaleWidth(-1).setLeft(l + w);
}