我想对图片大小进行压缩处理,需要用到Bitmap这个类,结果发现一旦图片尺寸过大,就无法创建Bitmap,我的代码如下(主要看第一行就够了),不知大家有何高见,可以将尺寸巨大的图片保存成大小较小的图片,而尺寸不发生变化
using (Bitmap bitmap = new Bitmap(fileStream))
{
ImageCodecInfo CodecInfo = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg);
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality);
myEncoderParameters.Param[0] = myEncoderParameter;
using (MemoryStream ms = new MemoryStream())
{
bitmap.Save(ms, CodecInfo, myEncoderParameters);
myEncoderParameters.Dispose();
myEncoderParameter.Dispose();
return ms.ToArray();
}
}
using (Bitmap bitmap = new Bitmap(fileStream))
{
ImageCodecInfo CodecInfo = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg);
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality);
myEncoderParameters.Param[0] = myEncoderParameter;
using (MemoryStream ms = new MemoryStream())
{
bitmap.Save(ms, CodecInfo, myEncoderParameters);
myEncoderParameters.Dispose();
myEncoderParameter.Dispose();
return ms.ToArray();
}
}
解决方案 »
- 请问C#能用USB-KEY里的数字证书进行加密解密吗。
- 有哪位大哥用.net开发过wap网站的!有没有文件上传控件阿!
- 如何判断局域网内另一台机器上的某个目录是否存在?
- 客户端向服务器传送xml格式数据,如何在服务器读出该数据并且简单回应?
- 困难问题--如何在visual C#中为listBox控件绘制背景
- 高分求改一段代码 把控制台程序改为winform
- 今天去面试,公司出了一道题让回来作,但是不知道如何作?DX们指点一下啊,只有两天的时间。
- 如何隐藏任务栏,用C#实现?
- 关于sendmessage API调用!
- 继昨:一段用VB写的加密的代码,谁能帮我用C#改写?
- c# 调用打印软件是报错,请大家帮忙下
- 为什么下载几乎同样的2个网页,其中一个乱码,另一个显示正常?
这个对他不会有帮助,因为200MB的图像对于系统来说还能够承受, 我自己的经验是500MB是个瓶颈,原因是一般情况下 系统无法为 程序 分配更大的连续内存。