我的WPF应用程序已经可以调整图像大小和文本水印。当转换后的图像尺寸为700px x 700px且水印文本为30 pt时,我的应用将4MB图像转换为600 KB图像。
如何减小图像尺寸(600 KB到250 KB或更小)?
考虑到我的应用程序是使用WPF,C#和.NET 4编写的,我应该使用哪个库或代码示例?
答案 0 :(得分:0)
有两种缩小图像尺寸的方法:降低分辨率或使用您正在使用的格式的压缩参数(即,jpeg压缩基于余弦变换,使您能够控制最终图像的质量(和尺寸))。 / p>
我使用了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);
}
}