如题,
我使用一般的方法保存后,得到一个数据格式不正确的“PNG”图片,但如果我将其以24位色保存,却是正确的。请问如何将一个24位色的图片通过GDI+保存成8位色的“PNG”图片,
Thanks。
我使用一般的方法保存后,得到一个数据格式不正确的“PNG”图片,但如果我将其以24位色保存,却是正确的。请问如何将一个24位色的图片通过GDI+保存成8位色的“PNG”图片,
Thanks。
解决方案 »
- ashx无法访问,求大神!
- Asp.net 如何跨页更新
- table
- 长度大于6位,必须出现数字,小写字母,大写字母的正则表达式?
- 如何把Treeview结构,输出为表格样式,也就是把树型目录,横放(即表格),急急,在线等。
- web程序中把客户端的图片生成缩微图,并且上传到服务器端的问题,我都要被这个破问题烦死了!!!救命阿!!!
- 求助:C#中从数据库取出图片如何直接显示在网页上
- 学C#的有没有要买书籍的?我有二本----C#数据库系统开发案例精选 + C#数据库系统开发完全手册
- 关于cookie请求错误
- 关于active控件的事件问题.我用VB写了一个控件,将其放入asp.net环境,发现我自定的事件都没有了!!!!!应如何解决?
- 急求:如何识别一个字符串中的ASC“0”??感谢各位大虾!
- 关于在DataGrid中有DropDownList和CheckBox的小问题
//System.Drawing.Image newImage=System.Drawing.Image.FromFile(yourimgPath);
System.Drawing.Image oldImage=System.Drawing.Image.FromFile(yourimgPath);
Bitmap myBitmap = new Bitmap(imgWidth1,imgHeight1,System.Drawing.Imaging.PixelFormat.Format8bppIndexed );
Graphics g = Graphics.FromImage(myBitmap);
Rectangle rec=new Rectangle(imgLeft1,imgTop1,imgWidth1,imgHeight1);
g.Clear(Color.Black);
g.DrawImage(oldImage,0,0,rec,GraphicsUnit.Pixel);
//Response.ContentType = "image/jpeg";
myBitmap.Save(newImgSrc,ImageFormat.Png);
// 清除缓冲
oldImage.Dispose();
myBitmap.Dispose();
g.Dispose();
如下语句执行时有问题,调试时报告说:“Graphics不能通过带索引的图片创建”。
Graphics g = Graphics.FromImage(myBitmap);8位色图片是带索引的,不能创建Graphics容器,呵。不知道有没有人有其它办法将24位BMP图片保存成8位的PNG图片呀?
急等答案,谢谢先啦!