这是从数码相机新鲜出炉的图像往往是2-3 MB以上尺寸使得很难为它得到转移通过电子邮件等方式吧。 这需要被调整大小(文件大小,而不是高度或宽度计)的图像。 颇为相似,MS画图提供图像缩放功能。 我学历不高的图像文件的理论。 我将不胜感激,如果有人可以点我朝着以下信息来源:
非常感谢,
图像大小调整是功能内置到.NET框架。 有几个不同的方法:
这里是一个不错的博客文章涉及它们之间的差异。
下面是与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);
}
}
}
我使用达林季米特洛夫提供的示例中,图像是膨胀以和占用了大量的磁盘空间(从1.5MB到17MB左右)。
这是由于在最后一行代码中的一个小错误。
下面的功能将图像保存为位图(巨大的图像尺寸)。
newImage.Save(outputFile)
正确的功能应该是:
newImage.Save(outputFile, ImageFormat.Jpeg);
Imageresizer效果很好。 http://imageresizing.net/