CompressImage

CompressImage(bool, PicturesCompression)

通过根据形状大小和指定分辨率减少图像的大小来压缩图像。可选地,它还会删除裁剪区域。

public bool CompressImage(bool deleteCroppedAreasOfImage, PicturesCompression resolution)
参数类型描述
deleteCroppedAreasOfImageBoolean如果为 true,方法将删除图像的裁剪区域,从而可能进一步减少其大小。
resolutionPicturesCompression压缩的目标分辨率,作为PicturesCompression枚举的值指定。

返回值

一个 Boolean 指示图像是否成功被压缩。如果图像被调整大小或裁剪,则返回 true,否则返回 false

异常

异常条件
ArgumentException当分辨率不是有效值时抛出。

备注

此方法改变图像的大小和分辨率,类似于 PowerPoint 的“图片格式 -> 压缩图片”功能。

示例

以下示例演示如何使用 CompressImage 方法通过设置目标分辨率和删除裁剪区域来减少演示文稿中图像的大小:

using (Presentation presentation = new Presentation("demo.pptx"))
{
    ISlide slide = presentation.Slides[0];
    IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame;
    // 使用 150 DPI(网络分辨率)作为目标分辨率并删除裁剪区域来压缩图像
    bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150);
}

另请参见


CompressImage(bool, float)

通过根据形状大小和指定分辨率减少图像的大小来压缩图像。可选地,它还会删除裁剪区域。

public bool CompressImage(bool deleteCroppedAreasOfImage, float resolution)
参数类型描述
deleteCroppedAreasOfImageBoolean如果为 true,方法将删除图像的裁剪区域,从而可能进一步减少其大小。
resolutionSingle目标分辨率(单位为 DPI)。此值必须为正并定义图像的调整大小方式。

返回值

一个 Boolean 指示图像是否成功被压缩。如果图像被调整大小或裁剪,则返回 true,否则返回 false

异常

异常条件
ArgumentException当分辨率不是正值时抛出。

备注

此方法改变图像的大小和分辨率,类似于 PowerPoint 的“图片格式 -> 压缩图片”功能。

示例

以下示例演示如何使用 CompressImage 方法通过设置目标分辨率和删除裁剪区域来减少演示文稿中图像的大小:

[C#]
using (Presentation presentation = new Presentation("demo.pptx"))
{
    ISlide slide = presentation.Slides[0];

    // 获取 PictureFrame
    IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame;

    // 使用 150 DPI(网络分辨率)作为目标分辨率并删除裁剪区域来压缩图像
    bool result=picFrame.PictureFormat.CompressImage(true, 150f); // 网络分辨率
}

另请参见