原始图像大小

时间:2014-06-02 18:51:13

标签: vb.net powerpoint

在VB.Net中使用interop.powerpoint我正在插入一个带有代码的EMF文件:

' add picture shape to slide
            AvailableSlide.Shapes.AddPicture(FileName:=file, LinkToFile:=MsoTriState.msoFalse, _
                SaveWithDocument:=MsoTriState.msoTrue, Left:=SlideHorizontalPosition, Top:=SlideVerticalPosition)

            ' save original image size
            mOriginalImageWidth = CurrentShape.Width
            mOriginalImageHeight = CurrentShape.Height
            ' if EMF then crop the bottom
            CurrentShape.PictureFormat.CropBottom = mCropValue

我在裁剪之前保存了原始尺寸。但是,如果我在PPT文件中使用了一个我没有保存的选定图像,我无法弄清楚原始图像大小存储在所选“形状”对象中的位置(下图中的5.49“乘4.13”) )。我以为它会在某处的PictureFormat中。

DGP

enter image description here

2 个答案:

答案 0 :(得分:1)

这可能会或可能不会奏效,但它值得一试(我无法测试,因为我没有Powerpoint)。在对PictureFormat接口进行一些研究之后,它有一些可能对您有用的成员。我没有完全看到任何指定图片原始大小的内容,但这四个属性似乎有用:CropLeftCropRightCropTop和{ {1}}。它们分别返回每侧裁剪的点数。获取对象原始大小的一种方法是将CropBottom添加到Width并将高度添加到CropLeft + CropRight。尝试一下,让我知道它是否有效。可在此处找到文档:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.powerpoint.pictureformat_members(v=office.14).aspx

尝试获取形状的CropTop + CropBottomScaleWidth属性。我无法在文档中找到它,但不久前,我有一个学生和我一起创建一个应用程序来格式化导入到Microsoft Word中的powerpoint演示文稿。 Here's the code that dealt with the scale size of the shape.

答案 1 :(得分:1)

将形状的.ScaleHeight和.ScaleWidth设置为1,将其恢复为原始大小。