【发布时间】:2014-05-18 21:48:38
【问题描述】:
我有一个方法可以拍摄图像,制作副本以调整大小,然后将其作为字节数组返回。我已尝试根据此文档添加调整图像质量的功能:
http://msdn.microsoft.com/en-us/library/bb882583(v=vs.110).aspx
Image image = Image.FromFile(_filepath);
Image newImage = new Bitmap(newWidth, newHeight);
using (Graphics graphicsHandle = Graphics.FromImage(newImage))
{
graphicsHandle.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphicsHandle.DrawImage(image, 0, 0, newWidth, newHeight);
}
MemoryStream memStream = new MemoryStream();
EncoderParameters myEncoderParameters = new EncoderParameters(1);
ImageCodecInfo encoder = ImageCodecInfo.GetImageDecoders().SingleOrDefault(c => c.MimeType == contentType);
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
newImage.Save(memStream, encoder, myEncoderParameters);
return memStream.ToArray();
当我拨打newImage.Save() 时,我收到此错误:
System.Drawing.dll 中出现“System.ArgumentNullException”类型的异常,但未在用户代码中处理
消息是:
值不能为空。 参数名称:结构
【问题讨论】:
标签: c#