Seraph 在屏幕上读数字

首先,我们要做的工作是,准备十个抓图文件。
这十个抓图文件分别抓取的是0到9这十个数字,并把它们保存为0.sel 到 9.sel。为此,我们可能需要变换坐标,多截几张屏幕图,保证可以抓到每个数字。

关于截图和取图并保存为sel文件的方法,不再重复,请看这里 Seraph演示之一 - 抓图,选图,以及在屏幕上找图;

注意的时,抓取的数字和演示一中一样,只是数字本身,不包括背景。

好了,我们已经有了0.sel 到 9.sel 这十个图像文件。我们把它们保存在 d:\demo\
打开Seraph,新建一个脚本,保存为D:\demo\test2.ser

脚本内容如下

dim DigitImgs[10]

function main
LoadImage("d1.sel",DigitImgs[1])
LoadImage("d2.sel",DigitImgs[2])
LoadImage("d3.sel",DigitImgs[3])
LoadImage("d4.sel",DigitImgs[4])
LoadImage("d5.sel",DigitImgs[5])
LoadImage("d6.sel",DigitImgs[6])
LoadImage("d7.sel",DigitImgs[7])
LoadImage("d8.sel",DigitImgs[8])
LoadImage("d9.sel",DigitImgs[9])
LoadImage("d0.sel",DigitImgs[10])

if ReadNumber(DigitImgs,810,30,880,46 ,true,num) then
Print("取得数字 "&num)
else
Print("找不到数字")
end if
end function

在上例中,我们首先读取十个图像文件到一个长度为10的数组里。然后,把这个数组作为参数,传给ReadNumber函数,即是告诉它,我们要读的数字分别是什么形状颜色的。再指定一个读取的区域(上面的蓝色部分,这个区域的坐标需要自己在抓图工具里测量)。那么ReadNumber函数会帮我们在这个区域里,读出一个数字来。

注意读出的数字是忽略小数点的整数。以上图的例子,我们读出的数字就是,X坐标=42932

另外,我们还可以用ReadNumberEx,很多时候图像会略有偏差,造成数字读取失败,用这个函数可以用模糊搜索图像的方式来读数字。具体的用法可以参考帮助手册。

(0)

相关推荐

  • Seraph 在屏幕上读数字

    首先,我们要做的工作是,准备十个抓图文件.这十个抓图文件分别抓取的是0到9这十个数字,并把它们保存为0.sel 到 9.sel.为此,我们可能需要变换坐标,多截几张屏幕图,保证可以抓到每个数字. 关于截图和取图并保存为sel文件的方法,不再重复,请看这里 Seraph演示之一 - 抓图,选图,以及在屏幕上找图; 注意的时,抓取的数字和演示一中一样,只是数字本身,不包括背景. 好了,我们已经有了0.sel 到 9.sel 这十个图像文件.我们把它们保存在 d:\demo\ 打开Seraph,新建一

  • Python小程序之在图片上加入数字的代码

    在GitHub上发现一些很有意思的项目,由于本人作为Python的初学者,编程代码能力相对薄弱,为了加强Python的学习,特此利用前辈们的学习知识成果,自己去亲自实现. 来源:GitHub Python练手小程序项目地址:https://github.com/Show-Me-the-Code/python 写作日期:2019.11.24 今天练习的小程序,是其中第0000题,题目如下: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 如下图中的效果

  • android实现在图标上显示数字

    本文实例为大家分享了android实现在图标上显示数字的具体代码,供大家参考,具体内容如下 效果图: 动态显示当天的号数. 主要代码如下: import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Paint; import android

  • 用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法

    问: 您好,脚本专家!如何将输出内容写到屏幕以覆盖当前屏幕上的内容? -- KM 答: 您好,KM.如果您确实需要将输出内容写到命令窗口,那么,我们没办法给您提供答案:尽管我们多少已经处理过一些问题,但我们从未找到一种简单.直接的方法可覆盖命令窗口中的信息. 不过,如果您要将信息输出到 Internet Explorer 窗口,那么我们还确实有解决办法.而且马上就可以给出答案: Set objExplorer = CreateObject("InternetExplorer.Applicatio

  • java获取鼠标在屏幕上坐标的方法

    介绍 java作为目前最为流行的计算机开发语言之一,学习java是高薪就业的好选择,本文介绍的这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来.希望下面的内容介绍,能够让大家对于如何获取鼠标在屏幕上的坐标更加了解,一起来学习下吧. 代码如下: import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JD

  • iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果

    在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的.在之前的博客中也提到过,团队合作使用Storyboard时,避免冲突有效的解决方法是负责UI开发的同事最好每人维护一个Storyboard, 公用的组件使用轻量级的xib或者纯代码来实现.这样不但提高了开发效率,而且可以有效的避免Storyboard的冲突.如果每个人维护一个Storyboard, 遇到冲突了就以你自己的为准就OK了. 言归正传,

  • JavaScript使表单中的内容显示在屏幕上的方法

    本文实例讲述了JavaScript使表单中的内容显示在屏幕上的方法.分享给大家供大家参考.具体实现方法如下: 一.使内容水平出现 <html> <head> <title>测试</title> <script type="text/javascript"> function to() { var txt=document.getElementById("txt").value; document.getEl

  • C#使用timer定时在屏幕上输出信息的方法

    本文实例讲述了C#使用timer定时在屏幕上输出信息的方法.分享给大家供大家参考.具体分析如下: 这段c#代码通过timer定时器每隔5秒钟调用一次OnTimerElapsed事件,在屏幕上输出信息,这是一个简单的timer定时器使用范例,可以大概了解一些C#中timer的用法 using System; using System.Timers; public class Program { private static System.Timers.Timer testTimer; public

  • Android 通过触摸动态地在屏幕上画矩形效果

    需求概述: 在屏幕上用手指画出一个区域,返回所圈的区域坐标. 技术实现: 自定义View,设置画笔及对应参数,在onTouchEvent()回调函数里,对触摸事件进行判断.画出矩形图形. 代码: 自定义View: public class GameView extends View { // 声明Paint对象 private Paint mPaint = null; private int StrokeWidth = 5; private Rect rect = new Rect(0,0,0,

  • 使用C#实现在屏幕上画图效果的代码实例

    以下这段C#代码实现的功能是在屏幕上画图的效果!具体代码如下: 复制代码 代码如下: //DllImport所在的名字空间 using System.Runtime.InteropServices;[DllImport("User32.dll")]public extern static System.IntPtr GetDC(System.IntPtr hWnd);  private void button19_Click(object sender, EventArgs e){  

随机推荐