TC官方合作论坛

 找回密码
 立即注册
查看: 4056|回复: 17

[源码分享] 终于搞明白了一个透明图的问题,分享一下

[复制链接]
发表于 2011-11-24 12:25:13 | 显示全部楼层 |阅读模式

       大家练习找图的时候,在软件的功能描述里都会发现这句话:“根据四角的颜色判断是否为透明图”
那么什么是透明图呢?看了阿斌哥做透明图的视频明白了一点,就是为了找图更精确,把截图的背景用一种颜色抹掉,这样不管背景怎么变,都能找到你所要找的图,这就是透明图。如图

图片名称:我的电脑


图片名称:电脑2
于是,我就把我的电脑四个字分别截图为:电脑1(电脑1这里没传图片)和透明图电脑2并写了下边的代码看看哪个更精确。

空间 找图
功能 逻辑型 开始_点击()
整型 图像序号
整型 x,y
图像序号=图像.找图(0,0,1024,768,"e:\\电脑1.bmp",#102030,1.0,0,x,y)
如果(图像序号==0)
鼠标.移动(x+15,y)
鼠标.左键双击(1)
否则
    辅助.消息框("没有找到图像")
如果结束
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//脚本动作:通过找图返回坐标(x,y),鼠标移动到坐标(x+15,y),然后双击鼠标左键打开我的电脑。

我做了下边的操作:
1)把“电脑1”这张图片放上去,没问题,能顺利打开我的电脑。
2)把透明图“电脑2”换上,有问题,始终提示"没有找到图像",我想,可能是图小了,就把“我的电脑”连图带字都截图,手工涂成透明图,放上去,结果还是一样。
        为什么呢,就这样一直纠结了好久,也找不到原因,想到过是色差取值不对,究竟怎么样取色差呢教程没有,什么百度呀,谷歌呀谷姐呀乱七八糟的都查了,也没有明确的说法,也不明白什么是色差。一想,干脆直接取字的色算了,把色差改成了#ffffff,运行一下,倒是不提示找不到图了,鼠标直接飞到左上角去了,打开了我的文档,抓狂了,跳过研究别的去了,一放就是七八天。今天突然想到有人说过色偏取值#000000,可以默认所有,就把透明图电脑2的色偏改成了#000000,一运行,哇咔咔,居然没问题。因为透明图是无视背景的嘛,打开我的电脑,窗口的标题栏上夜有这四个字,我接着运行程序,哇,鼠标准确的移动到了那四个字的位置。
       总结一下:对于会的可能没什么大不了的,刚接触找图的朋友可能会碰到我的情况,发出来和大家分享一下能提高学习效率。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2011-11-24 12:34:28 | 显示全部楼层
当图片四个顶点的颜色相同时,这个颜色会当作透明色处理。
可以理解为这个颜色不作比较。此时找图的结果为第一个有色点的坐标,而不是图片左上角的坐标
回复 支持 反对

使用道具 举报

发表于 2011-11-24 12:53:14 | 显示全部楼层
楼上正解
回复 支持 反对

使用道具 举报

发表于 2011-11-24 13:03:30 | 显示全部楼层
。。。没懂是什么意思。呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-24 13:22:02 | 显示全部楼层
回复 2楼Soy_meng的帖子

哎呀,真是太感谢了,请教一下,色偏取值问题怎么解决,有没有好的办法,总觉得每次填#000000,有一种牵强的感觉
回复 支持 反对

使用道具 举报

发表于 2011-11-24 14:05:02 | 显示全部楼层
:*感谢分享 很正确
回复 支持 反对

使用道具 举报

发表于 2011-11-24 15:30:14 | 显示全部楼层
色偏可以简单的理解为颜色偏差,取值的话其实就是一个相减的问题.
比如说有2个颜色值(16进制)为#f0f0f0,#feaaf0
#f0f0f0 : R = f0 ,G = f0 ,B = f0 换算为10进制也就是:R = 15×16+0 = 240,G=240,B=240
#feaaf0:R=fe ,G=aa,B=f0 换算为16进制也就是:R = 15×16+14 = 254,G=10*16+10=170,B=240
二者相减(取绝对值)的结果就是R = 14,G=70,0 换算为16进制,也就是:0e4600
那么你取色的时候用“f0f0f0-0e4600”就可以取到这2个颜色值的点

总的来说加上色差也就是取色的范围增大了
选取的是在小于(目标色【f0f0f0】+色差【0e4600】)到大于(目标色【f0f0f0】-色差【0e4600】)这个范围内的颜色值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-24 16:21:57 | 显示全部楼层
回复 7楼Soy_meng的帖子

感谢您的耐心讲解,又学到了不少东西,再次感谢:D
回复 支持 反对

使用道具 举报

发表于 2011-11-24 16:34:34 | 显示全部楼层
值得借鉴 虽然LZ表达的不太准确
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-24 16:40:21 | 显示全部楼层
回复 9楼tc88的帖子

:L太实在了,伤自尊了。领会精神就好:D
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-4 19:56 , Processed in 0.045971 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表