重新开贴(100分),如何把图存为256色bmp??? Bitmap myBitmap = new Bitmap(1016,712 System.Drawing.Imaging.PixelFormat.Format8bppIndexed) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 少了一个逗号Bitmap myBitmap = new Bitmap(1016,712,System.Drawing.Imaging.PixelFormat.Format8bppIndexed);System.Drawing.Imaging.PixelFormat.Format8bppIndexed是设置像素格式,Format8bppIndexed应该是256色,还有另外13种,你可以依次看看 jyu_730(阿宇) 这个方法我试过,但是画图的时候就不能用 setpixel了,而且不能创建Graphics对象那又如何解决以上2个问题? 可以创建Graphics对象呀。Graphics gBmp=Graphics.FromImage(myBitmap);至于你用setpixel,我不知道你的具体意思,你是直接把一个图象另存为256bmp,还是比较两个图象,取它们的一部分来存?? 比较两个图象,取它们的一部分来存。所以要用 setpixel啊但是也可以在内存里面比较了再画,就是比较麻烦。我先搞哈你的方法 确实不能使用Graphics gBmp=Graphics.FromImage(myBitmap);创建对象哈。System.Exception: 无法从带有索引像素格式的图像创建 Graphics 对象。 应该是你的程序某个地方有问题private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e){ Graphics gForm = e.Graphics;gForm.FillRectangle(Brushes.White, this.ClientRectangle);Bitmap bmp = new Bitmap(260, 260,System.Drawing.Imaging.PixelFormat.Format32bppArgb);Graphics gBmp = Graphics.FromImage(bmp);//创建对象Color red = Color.FromArgb(0x60, 0xff, 0, 0);Brush redBrush = new SolidBrush(red);gBmp.FillEllipse(redBrush, 70, 70, 160, 160);Color green = Color.FromArgb(0x40, 0, 0xff, 0);Brush greenBrush = new SolidBrush(green);gBmp.FillRectangle(greenBrush, 10, 10, 140, 140);// now draw the bitmap on our windowgForm.DrawImage(bmp, 20, 20, bmp.Width, bmp.Height);// dispose of all objects that consume resourcesbmp.Dispose();gBmp.Dispose();redBrush.Dispose();greenBrush.Dispose();}证明可以创建Graphics对象 jyu_730(阿宇) ....我指的是Bitmap构造函数里使用PixelFormat.Format8bppIndexed时,就不能创建Graphics对象了我现在就是需要Format8bppIndexed的像素格式~~~~还有没有办法? 或者说是怎样把32位图变成256色bmp图~ 我觉得你可以试下不用setpixel,你可以先getpixel满足条件的像素,再分别得到这些像素的红、绿、蓝,然后赋值给一个color,最后Bitmap bmp = new Bitmap(260, 260,System.Drawing.Imaging.PixelFormat.Format32bppArgb);Graphics gBmp = Graphics.FromImage(bmp);在gBmp对象上用Brush或者Pen画这个像素。 PixelFormat.Format8bppIndexed注意这个,我最后要保存位8位图,所以才会有System.Exception: 无法从带有索引像素格式的图像创建 Graphics 对象。这个异常。你可以试试.现在的问题就是如何把32位图转化成8位,然后保存的问题了 如何点击button让richtextbox显示一段文字且不消失 编译dll时找不到指定的模块,求助。 C# ftp将文件上传到服务器 求助 正则表达式 在线等 如何让c#同时支持sqlserver 和oracle 用DataGridView怎么实现类似于DataGrid的导航功能 关于mdi窗体的问题 duwamish问题 散分了 只要给个实质的建议就有分 Up.... webform中怎样动态配置与数据库的连接(生成DLL后不能修改连接配置) asp.net能否直接操作linux下mysql数据库 ?请教各位一个数据存储的问题
Bitmap myBitmap = new Bitmap(1016,712,System.Drawing.Imaging.PixelFormat.Format8bppIndexed);
System.Drawing.Imaging.PixelFormat.Format8bppIndexed是设置像素格式,Format8bppIndexed应该是256色,还有另外13种,你可以依次看看
这个方法我试过,但是画图的时候就不能用 setpixel了,而且不能创建Graphics对象那又如何解决以上2个问题?
Graphics gBmp=Graphics.FromImage(myBitmap);
至于你用setpixel,我不知道你的具体意思,你是直接把一个图象另存为256bmp,还是比较两个图象,取它们的一部分来存??
创建对象哈。System.Exception: 无法从带有索引像素格式的图像创建 Graphics 对象。
private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e)
{
Graphics gForm = e.Graphics;
gForm.FillRectangle(Brushes.White, this.ClientRectangle);
Bitmap bmp = new Bitmap(260, 260,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics gBmp = Graphics.FromImage(bmp);//创建对象
Color red = Color.FromArgb(0x60, 0xff, 0, 0);
Brush redBrush = new SolidBrush(red);
gBmp.FillEllipse(redBrush, 70, 70, 160, 160);
Color green = Color.FromArgb(0x40, 0, 0xff, 0);
Brush greenBrush = new SolidBrush(green);
gBmp.FillRectangle(greenBrush, 10, 10, 140, 140);// now draw the bitmap on our window
gForm.DrawImage(bmp, 20, 20, bmp.Width, bmp.Height);// dispose of all objects that consume resources
bmp.Dispose();
gBmp.Dispose();
redBrush.Dispose();
greenBrush.Dispose();
}证明可以创建Graphics对象
....我指的是Bitmap构造函数里使用PixelFormat.Format8bppIndexed时,就不能创建Graphics对象
了我现在就是需要Format8bppIndexed的像素格式~~~~还有没有办法?
Bitmap bmp = new Bitmap(260, 260,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics gBmp = Graphics.FromImage(bmp);
在gBmp对象上用Brush或者Pen画这个像素。
System.Exception: 无法从带有索引像素格式的图像创建 Graphics 对象。这个异常。你可以试试.现在的问题就是如何把32位图转化成8位,然后保存的问题了