0

我的 WPF 应用程序已经可以调整图像大小和文本水印。当转换后的图像大小为 700 像素 x 700 像素且水印文本为 30 pt 时,我的应用程序将 4MB 图像转换为 600 KB 图像。

如何减小图像大小(600 KB 到 250 KB 或更小)?

考虑到我的应用程序是使用 WPF、C# 和 .NET 4 编写的,我应该使用哪个库或代码示例?

4

1 回答 1

0

减小图像大小有两种方法:降低分辨率或使用您正在使用的格式的压缩参数(即 jpeg 压缩基于余弦变换,使您能够控制最终图像的质量(和大小))。

我使用 BitmapSource 扩展方法来控制我保存的 Jpeg 图像的质量。也许你会发现它很有用:

    public static void SaveBitmapSourceAsJpeg(this BitmapSource image, string fileName, int quality)
    {
        using (var fileStream = new FileStream(fileName, FileMode.Create))
        {
            var encoder = new JpegBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(image));
            encoder.QualityLevel = quality;
            encoder.Save(fileStream);
        }
    }
于 2012-05-16T07:43:16.563 回答