我正在努力做标题中所说的内容。我的子包括:
Set oPic = oSld.Shapes.AddPicture(FileName:=strPath & strTemp, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=35, _
Top:=260, _
Width:=-1, _
Height:=245)
oPic.LockAspectRatio = msoCTrue
oPic.Height = 255
但由于某种原因,纵横比实际上并未锁定 - 图像高度减少到255点,但宽度保持不变。我有什么想法我错了吗?
答案 0 :(得分:1)
使用
oPic.LockAspectRatio = msoTrue
不,msoCTrue
我可以使用您的代码重新创建您的问题,我可以通过在加载图片时不指定高度来使图片表现出来:
Set oPic = oSld.Shapes.AddPicture(FileName:=strPath & strTemp, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=35, _
Top:=260, _
Width:=-1, _
Height:=-1)
oPic.LockAspectRatio = msoTrue
oPic.Height = 255
看起来宽高比来自图片数据 - 而不是来自您当前的图片缩放。如果这仍然无法实现您的需求,我可以看到两条路径:
更新您的图片文件以满足您真正需要的宽高比,然后使用上述方法。
通过计算高度/宽度并设置它们而不是使用.lockaspectratio,以编程方式设置所需的宽高比。