GDI+加载索引像素格式的大图片异常,大侠进

蓬莱东路走九遭 2014-01-13 02:15:19
近期的一个B/S项目中有用到GDI+图片处理,当GDI+加载索引像素的图片时,需要先将Image对象转换为Bitmap对象供GDI+调用,在加载尺寸为1024*31500以内的大图片时,均正常,但当图片尺寸在1024*33000以上时,GDI+代码“g.DrawImage(bmp, 0, 0)”异常提示“参数无效”,今天单独写Winform进行测试,也是同样的情况,求大神指导(具体需求是:在这张大图上画一个矩形,并生成一个以矩形位置为基点1024*1024的小图片,相关代码都已完成,前天出现上述问题)

GDI+代码:
private void Form1_Load(object sender, EventArgs e)
{
//原图为索引像素格式,在使用Graphics时需要先用bmp转换
Image img = Image.FromFile(@"D:\测试数据文件夹\20130405\092229\1_1正常.jpg");
MessageBox.Show(img.Width + "," + img.Height);
Bitmap bmp = new Bitmap(img.Width, img.Height, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmp);

//g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

//1024*31504正常 1024*34400异常
g.DrawImage(bmp, 0, 0);

g.Dispose();
bmp.Dispose();
img.Dispose();
}


测试图片下载地址(一张正常的,一张异常的):
http://pan.baidu.com/s/1sjq9UVz
http://pan.baidu.com/s/1gd0xHdT
...全文
66 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
GDI+解决了,结贴

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧