首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

一个简单的扫描图片有关问题

2012-04-02 
一个简单的扫描图片问题我扫描一张图片,白底,黑色的直线代码如下:for (int y0 yImage1-Height y++){A

一个简单的扫描图片问题
我扫描一张图片,白底,黑色的直线

代码如下:
 for (int y=0; y<Image1->Height; y++)
  {
  Application->ProcessMessages();
  rgbstr = "";
  w_rgb = false;
  for (int x=0; x<Image1->Width; x++)
  {
  Application->ProcessMessages();
  ProgressBar1->Position += 1;
  bc = Image1->Canvas->Pixels[x][y];
  R = GetRValue(bc);
  G = GetGValue(bc);
  B = GetBValue(bc);

  if (R < 10 && G < 10 && B < 10)
  {
  rgbstr += "1";
  w_rgb = true;
  }
  else
  {
  if (w_rgb == true)
  rgbstr += "0";
  }
  }

直线如: - - - - -
为什么我扫出来是 101011 0000000 101011
1表示黑色,0表示白色。理论上应该是111111才对啊

另:怎么从后往前查找字符串位置

[解决办法]
为什么我扫出来是 101011 0000000 101011
1表示黑色,0表示白色。理论上应该是111111才对啊
=======================================================
说明你的黑色RGB值范围大于0 -- 10,可加大比较值,如32。

热点排行