我必须遵循被调用来改变图像分辨率的函数.我想这样做,所以上传的图像例如300dpi将被修改为72dpi(对于web).这个问题与我在这里工作的
another question有关.
我创建了一个扩展方法,以便能够在我的应用程序中的更多位置使用此功能,而不是仅在上载新文件时. (见上述问题)
public static byte[] SetDpiTo72(this byte[] imageToFit,string mimeType,Size newSize)
{
using (MemoryStream memoryStream = new MemoryStream(),newMemoryStream = new MemoryStream())
{
memoryStream.Write(imageToFit,imageToFit.Length);
var originalImage = new Bitmap(memoryStream);
using (var canvas = Graphics.FromImage(originalImage))
{
canvas.SmoothingMode = SmoothingMode.AntiAlias;
canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
canvas.DrawImage((Image)originalImage,newSize.Width,newSize.Height);
newBitmap.SetResolution(72,72);
newBitmap.Save(newMe