如何用DELPHI区分彩色图和黑白图(多色与单色)??
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区分彩色图和黑白图(多色与单色)??相关推荐
- linux 图片保存成黑白,8种最常用的方法! 将彩色图片转换为黑白图
原标题:8种最常用的方法! 将彩色图片转换为黑白图 在生活中,黑白照片并不是完全意义上的黑白照片,而是黑白灰照片.下面就介绍一下我们常用的几种转黑白灰照片方法. 原图 方法一: 去色:(ctrl+sh ...
- 如何将 WORD中将彩色图片变成灰度图 或 黑白图 ?
文章目录 1 灰度图像与黑白图像的区别 2 彩色图 灰度图 相互变换 2.1 彩色图 变 灰度图 2.2 灰度图 变 彩色图 3 彩色图 黑白图 相互变换 3.1 彩色图 变 黑白图 3.1 黑白图 ...
- C# 图片处理之:彩色图片转为黑白图 .
首先解释下所谓的黑白图片.其实更准确地应该叫256级灰度图.当一个颜色点的R=G=B时,就是我们所谓的"灰色".由于RGB的取值范围在[0,255],所以一共只有256种可能. 所 ...
- C# 图片处理之:彩色图片转为黑白图
首先解释下所谓的黑白图片.其实更准确地应该叫256级灰度图.当一个颜色点的R=G=B时,就是我们所谓的"灰色".由于RGB的取值范围在[0,255],所以一共只有256种可能. 所 ...
- 灰度图、黑白图,彩色图理解
黑白图,是指每个像素的颜色用二进制的1位来表示,颜色只有"1"和"0"这两个值 ,(Data值为0或者255)这也就是说,要么是黑,要么是白.例如: CvInv ...
- 图片一:单通道、三通道、灰度图、黑白图、三通道转灰度图(单通道)
图片的概念经常搞不清楚,导致对图片处理很糟糕.感觉还是总结下比较好,省的每次都要找一堆博客看.下面的内容是博主个人理解,不能保证全部正确,如有错误,敬请指出. 1.图片:通常指的是数字图片,数据结构通 ...
- 灰度图、RGB图的区别
一.灰度图 灰度图就是单通道图像,而单通道图是指维度数为2的图像. 而灰度就是没有色彩,RGB色彩分量全部相等(可将这点与下文的RGB图进行对比).那么灰度图的每个像素点就只有一个值表示颜色,像素值的 ...
- 黑白图,灰度图,彩色图的理解
图像中的单个点称为像素(pixel),每个像素都有一个值,称为像素值,它表示特定颜色的强度. 对于黑白图,是指每个像素的颜色用二进制的1位来表示,那末颜色只有"1"和"0 ...
- 在visio中将图片变成黑白,将图片对象进行颜色转换 彩色图转灰度图
标题:在visio中将图片变成黑白,将图片对象进行颜色转换 彩色图转灰度图 选中图片,右击,选中**"设置对象格式"**
最新文章
- oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)
- 阿尔法狗要逆天!韩专家称其故意输李世石一局
- 使用gpu(gtx1080) cudnn 5.1下编译faster rcnn
- 【若依(ruoyi)】Unknown column ‘create_time‘ in ‘order clause‘
- 按钮 小程序 弹出菜单_公众号怎么关联小程序
- powershell 文件/文件夹操作
- 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
- jdk678910新特性地址
- Linux常用监控服务器性能命令 内存 CPU 磁盘
- java自动机字符串匹配_【算法】利用有限自动机进行字符串匹配
- qt实现涂鸦板_Qt涂鸦板程序图文详细教程
- Ubuntu10.10下安装Tor,PolipoVidalia
- Kong Rate Limiting 插件详解
- Win11WSA无法启动的解决办法
- 大学综合测评中,使用VBA代码自动完成EXCEL成绩表
- 机器学习(9)--神经网络
- 电脑端工具☞高效率办公软件,值得推荐
- print2flash php调用,print2flash
- 设计一个名为complex的类来表示复数_CAE必修课:结构动力优化设计
- 《悟透JavaScript》诞生历程精美配乐视频