如何用DELPHI区分彩色图和黑白图(多色与单色)?? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061104175303177.html
如何用DELPHI区分彩色图和黑白图(多色与单色)??  
  如何用DELPHI区分彩色图和黑白图(多色与单色)??

急呀,帮忙呀

查一查整个图像上每一个像素的颜色的RGB分量不就行了吗?  
  只要某个点的R,G,B分量不相等,   就是有彩色.

图片信息参看图片格式

scanline。  
  枚举象素,如果有一个象素是彩色的,那就退出。  
   
  如果全是黑白2色,那就是单色了

临时写了个,还没试过。  
   
  function   IsBlackAndWhiteGraphic(G:   TGraphic):   Boolean;  
  type  
      PRGBTripleArray   =   ^TRGBTripleArray;  
      TRGBTripleArray   =   array[0..32767]   of   TRGBTriple;  
      function   GetSLColor(pRGB:   TRGBTriple):   TColor;  
      begin  
          Result   :=   RGB(pRGB.rgbtRed,   pRGB.rgbtGreen,   pRGB.rgbtBlue);  
      end;  
  var  
      p:   PRGBTripleArray;  
      x,   y:   Integer;  
      Bitmap:   TBitmap;  
  begin  
      Result:=   True;  
      Bitmap:=   TBitmap.Create;  
      try  
          Bitmap.PixelFormat:=   pf24bit;  
          Bitmap.Width:=   G.Width;  
          Bitmap.Height:=   G.Height;  
          Bitmap.Canvas.Draw(0,0,G);  
   
          for   y   :=   0   to   Bitmap.Height   -   1   do  
          begin  
              p:=   Bitmap.ScanLine[y];  
              for   x   :=   0   to   (Bitmap.Width   -   1)   do  
              begin  
                  if   (GetSLColor(p[x])   <>   clBlack)   and   (GetSLColor(p[x])   <>   clWhite)   then  
                  begin  
                      Result:=   False;  
                      Break;  
                  end;  
              end;  
          end;  
   
      finally  
          Bitmap.Free;  
      end;  
  end;

多色,单色的区别只要在  
  if   (GetSLColor(p[x])   <>   clBlack)   and   (GetSLColor(p[x])   <>   clWhite)   then  
  做判断就可以了。

楼上的   看过   灰度图么。。

var  
      Bitmap:   TBitmap;  
  begin  
      Bitmap   :=   TBitmap.Create;  
      Bitmap.LoadFormFile('c:\1.bmp');  
      if   Bitmap.Monochrome   then  
          ShowMessage('黑白');  
      Bitmap.Free;  
  end;

如何用DELPHI区分彩色图和黑白图(多色与单色)??相关推荐

  1. linux 图片保存成黑白,8种最常用的方法! 将彩色图片转换为黑白图

    原标题:8种最常用的方法! 将彩色图片转换为黑白图 在生活中,黑白照片并不是完全意义上的黑白照片,而是黑白灰照片.下面就介绍一下我们常用的几种转黑白灰照片方法. 原图 方法一: 去色:(ctrl+sh ...

  2. 如何将 WORD中将彩色图片变成灰度图 或 黑白图 ?

    文章目录 1 灰度图像与黑白图像的区别 2 彩色图 灰度图 相互变换 2.1 彩色图 变 灰度图 2.2 灰度图 变 彩色图 3 彩色图 黑白图 相互变换 3.1 彩色图 变 黑白图 3.1 黑白图 ...

  3. C# 图片处理之:彩色图片转为黑白图 .

    首先解释下所谓的黑白图片.其实更准确地应该叫256级灰度图.当一个颜色点的R=G=B时,就是我们所谓的"灰色".由于RGB的取值范围在[0,255],所以一共只有256种可能. 所 ...

  4. C# 图片处理之:彩色图片转为黑白图

    首先解释下所谓的黑白图片.其实更准确地应该叫256级灰度图.当一个颜色点的R=G=B时,就是我们所谓的"灰色".由于RGB的取值范围在[0,255],所以一共只有256种可能. 所 ...

  5. 灰度图、黑白图,彩色图理解

    黑白图,是指每个像素的颜色用二进制的1位来表示,颜色只有"1"和"0"这两个值 ,(Data值为0或者255)这也就是说,要么是黑,要么是白.例如: CvInv ...

  6. 图片一:单通道、三通道、灰度图、黑白图、三通道转灰度图(单通道)

    图片的概念经常搞不清楚,导致对图片处理很糟糕.感觉还是总结下比较好,省的每次都要找一堆博客看.下面的内容是博主个人理解,不能保证全部正确,如有错误,敬请指出. 1.图片:通常指的是数字图片,数据结构通 ...

  7. 灰度图、RGB图的区别

    一.灰度图 灰度图就是单通道图像,而单通道图是指维度数为2的图像. 而灰度就是没有色彩,RGB色彩分量全部相等(可将这点与下文的RGB图进行对比).那么灰度图的每个像素点就只有一个值表示颜色,像素值的 ...

  8. 黑白图,灰度图,彩色图的理解

    图像中的单个点称为像素(pixel),每个像素都有一个值,称为像素值,它表示特定颜色的强度. 对于黑白图,是指每个像素的颜色用二进制的1位来表示,那末颜色只有"1"和"0 ...

  9. 在visio中将图片变成黑白,将图片对象进行颜色转换 彩色图转灰度图

    标题:在visio中将图片变成黑白,将图片对象进行颜色转换 彩色图转灰度图 选中图片,右击,选中**"设置对象格式"**

最新文章

  1. oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)
  2. 阿尔法狗要逆天!韩专家称其故意输李世石一局
  3. 使用gpu(gtx1080) cudnn 5.1下编译faster rcnn
  4. 【若依(ruoyi)】Unknown column ‘create_time‘ in ‘order clause‘
  5. 按钮 小程序 弹出菜单_公众号怎么关联小程序
  6. powershell 文件/文件夹操作
  7. 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
  8. jdk678910新特性地址
  9. Linux常用监控服务器性能命令 内存 CPU 磁盘
  10. java自动机字符串匹配_【算法】利用有限自动机进行字符串匹配
  11. qt实现涂鸦板_Qt涂鸦板程序图文详细教程
  12. Ubuntu10.10下安装Tor,PolipoVidalia
  13. Kong Rate Limiting 插件详解
  14. Win11WSA无法启动的解决办法
  15. 大学综合测评中,使用VBA代码自动完成EXCEL成绩表
  16. 机器学习(9)--神经网络
  17. 电脑端工具☞高效率办公软件,值得推荐
  18. print2flash php调用,print2flash
  19. 设计一个名为complex的类来表示复数_CAE必修课:结构动力优化设计
  20. 《悟透JavaScript》诞生历程精美配乐视频

热门文章

  1. mysql分组取出每组地一条数据_MySQL 分组后取每组前N条数据
  2. mac book pro怎么安装python_Mac安装python细节
  3. 将优化问题转化为决策问题
  4. access中判断回文的代码_LeetCode 第九题 回文数
  5. 【AWS】DynamoDB扫描操作获取表全部数据
  6. java两个线程交替执行
  7. 净核心vs节点js您应该选择什么
  8. The following profiles are active: dev
  9. Modbus名词解释
  10. Electron中打开和关闭子窗口以及子窗口向父窗口传值