CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

高手帮帮忙啊!~!~获取像素值

楼主171527461(蜗牛)2005-06-01 21:48:02 在 .NET技术 / C# 提问

请高手帮帮忙,怎么才能够获取BMP图象的R   G   B各个像素值  
  希望各位高手能够给个代码给小弟参考一下 问题点数:20、回复次数:11Top

1 楼ljc_zy(彷徨)回复于 2005-06-01 21:52:00 得分 10

public   void   GetPixel_Example(PaintEventArgs   e)  
  {  
  //   Create   a   Bitmap   object   from   an   image   file.  
  Bimap   myBitmap   =   new   Bitmap("Grapes.jpg");  
  //   Get   the   color   of   a   pixel   within   myBitmap.  
  Color   pixelColor   =   myBitmap.GetPixel(50,   50);  
  //   Fill   a   rectangle   with   pixelColor.  
  SolidBrush   pixelBrush   =   new   SolidBrush(pixelColor);  
  e.Graphics.FillRectangle(pixelBrush,   0,   0,   100,   100);  
  }  
  Top

2 楼leonchenjian(小黑)回复于 2005-06-01 22:02:00 得分 10

要获取BMP图象的R   G   B各个像素值  
  以ljc_zy(彷徨)的代码为例  
  Color   pixelColor   =   myBitmap.GetPixel(50,   50);后  
   
  pixelColor.R,   pixelColor.G,   pixelColor.B   即为相应象素的RGB值Top

3 楼171527461(蜗牛)回复于 2005-06-01 22:18:30 得分 0

那怎么才能够将它们各个像素值显示在TEXT框????Top

4 楼171527461(蜗牛)回复于 2005-06-01 22:19:28 得分 0

能不能够设置一个LONG   变量来存储R   B   G各个值然后传给TEXT框????Top

5 楼leonchenjian(小黑)回复于 2005-06-01 22:23:41 得分 0

可以Top

6 楼171527461(蜗牛)回复于 2005-06-01 22:30:28 得分 0

我设置这个变量后怎么在调式中它老是说   名称“ColorR”在类或命名空间“Project1.Form1”中不存在  
  long   ColorR,ColorG,ColorBTop

7 楼171527461(蜗牛)回复于 2005-06-01 22:40:22 得分 0

我用for(int   i=0;i<bitmap.Size.Width;i++)  
  {  
  for(int   j=0;j<bitmap.Size.Height;j++)  
  {  
   
      int   ColorR=   ColorCount[0][bitmap.GetPixel(i,j).R]++;  
      int   ColorG=ColorCount[1][bitmap.GetPixel(i,j).G]++;  
    int   ColorB=ColorCount[2][bitmap.GetPixel(i,j).B]++;  
  }  
  }  
  this.textBox2.Text=ColorR;  
  //this.textBox3.Text;  
  //this.textBox4.Text=ColorB;  
   
  调试时老是说名称“ColorR”在类或命名空间“Project1.Form1”中不存在  
  Top

8 楼leonchenjian(小黑)回复于 2005-06-02 00:18:02 得分 0

//如果把变量定义在for循环体内,那么他们的作用域就到for循环结束的大括号为止  
  //所以一定要定义在循环体外  
  int   ColorR;  
  int   ColorG;  
  int   ColorB;  
   
  for(int   i=0;i<bitmap.Size.Width;i++)  
  {  
          for(int   j=0;j<bitmap.Size.Height;j++)  
          {  
   
                  ColorR=   ColorCount[0][bitmap.GetPixel(i,j).R]++;  
                  ColorG=ColorCount[1][bitmap.GetPixel(i,j).G]++;  
                  ColorB=ColorCount[2][bitmap.GetPixel(i,j).B]++;  
          }  
  }  
  this.textBox2.Text=ColorR.ToString();   //   别忘了要转换成字符串  
  this.textBox3.Text   =   ColorG.ToString();  
  this.textBox4.Text=ColorB.ToString();Top

9 楼171527461(蜗牛)回复于 2005-06-06 12:23:03 得分 0

放在循环体外调试时老是说ColorR,ColorG,ColorB未定义啊这是什么回事???Top

10 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2005-06-06 12:40:56 得分 0

友情up.....Top

11 楼redflame3000(火焰冰)回复于 2005-08-09 15:30:27 得分 0

好东西!顶一个!!Top

相关问题

  • 请教获取像素点颜色值GetPixel(hdc,x,y)?
  • 获取像素点颜色值GetPixel(hdc,x,y)?
  • 如何获取图片中各像素的色彩值?
  • 如何获取一幅黑白图象像素点的灰度值?
  • 怎么样精确获取标志图像的中心位置,急,如何实现梯度幅值均值法获取亚像素级的边缘
  • 怎样准确获取自画线段上像素点颜色值GetPixel(hdc,x,y)?
  • T0:bencalie(Bencalie),raygemtoffice(紫宇) 还是有关昨天的问题呀…! 有关获取图片长宽像素值的问题
  • Java中如何获取像素点的颜色?
  • 如何获取字符串很占的像素?
  • 怎样获取机器的像素位?16位,24位,32位真彩色...

关键词

  • 像素
  • pixelcolor
  • 像素值
  • mybitmap
  • 获取
  • 高手
  • getpixel
  • color

得分解答快速导航

  • 帖主:171527461
  • ljc_zy
  • leonchenjian

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo