从数码相机中提取的图像通常大于2-3 MB,因此很难通过电子邮件和其他方式进行传输。
这需要调整图像的大小(根据文件大小而不是高度或宽度)。非常类似于MS Paint提供的图像大小调整功能。
我对图像文件理论没有很好的认识。如果有人可以指出以下信息来源,我将不胜感激:
非常感谢,
最佳答案
图像调整大小是内置在.NET框架中的功能。有两种不同的方法:
这是一个很好的blog post,涵盖了它们之间的差异。
这是GDI +的示例:
public void Resize(string imageFile, string outputFile, double scaleFactor)
{
using (var srcImage = Image.FromFile(imageFile))
{
var newWidth = (int)(srcImage.Width * scaleFactor);
var newHeight = (int)(srcImage.Height * scaleFactor);
using (var newImage = new Bitmap(newWidth, newHeight))
using (var graphics = Graphics.FromImage(newImage))
{
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphics.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight));
newImage.Save(outputFile);
}
}
}
关于c#-4.0 - 使用C#调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137979/