C# 获取PictureBox中像素颜色
用PictureBox的Graphics对象在PictureBox中进行绘图,然后想取出PictureBox中某一点的像素颜色,请问该如何取?我的代码如下,Bitmapb...
用PictureBox的Graphics对象在PictureBox中进行绘图,然后想取出PictureBox中某一点的像素颜色,请问该如何取?我的代码如下,
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
//将pictureBox1的图像绘制到位图里
pictureBox1.DrawToBitmap(bmp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
Color cc = bmp.GetPixel(15,15);
为什么无论修改GetPixel中的参数,结果总是(255,240,240,240)这个颜色貌似是控件的默认背景色吧?但是我显然是用的是红色的画刷重绘了PictureBox1了 展开
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
//将pictureBox1的图像绘制到位图里
pictureBox1.DrawToBitmap(bmp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
Color cc = bmp.GetPixel(15,15);
为什么无论修改GetPixel中的参数,结果总是(255,240,240,240)这个颜色貌似是控件的默认背景色吧?但是我显然是用的是红色的画刷重绘了PictureBox1了 展开
3个回答
展开全部
Color c=new Color(); //颜色对象
Bitmap bitmap=new Bitmap(this.backgroundImage);
int x=Cursor.Position.x;
int y=Cursor.Position.y; //坐标
c=bitmap.Getpixel(x,y); //获取坐标点的颜色
this.text=string.Format("{0},{1},{2}",c.R,c.G,c.B);
bitmap.Dispose; //释放
Bitmap bitmap=new Bitmap(this.backgroundImage);
int x=Cursor.Position.x;
int y=Cursor.Position.y; //坐标
c=bitmap.Getpixel(x,y); //获取坐标点的颜色
this.text=string.Format("{0},{1},{2}",c.R,c.G,c.B);
bitmap.Dispose; //释放
更多追问追答
追问
Bitmap bmp = new Bitmap(pictureBox1.BackgroundImage);
这样使用之后bmp还是null?为什么呢
追答
那么说你的picturebos。backgroundimage 有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习了。~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题要用Onpaint来解决,你自己翻手册吧,C#入门经典中有的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询