用Delphi或易语言如何实现在屏幕区域里查找图形?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Delphi或易语言如何实现在屏幕区域里查找图形?相关的知识,希望对你有一定的参考价值。

我要做个小软件自己用,可不知道用Delphi或易语言如何才能实现象按键精灵里的“在屏幕区域里查找图形”的功能,请高人指点一下给个源代码!小弟万分感谢~~~~

你要有两个图片image1与image2
image1保存你当前屏幕的截图。
image2保存你想查找的图片。
之后利用循环
在image1里截取和image2一样大的图保存到image3里在比较image3.canvas.Pixels[x,y]与image2.canvas.pixels[x,y]全部相同。就找到了。
参考技术A 枚举每一个有形控件的clientScreen转换成坐标点,然后看看有几个点,判断一下就能得到了

Blender源码分析之屏幕和区域对象结构

在Blender的设计里,UI是采用单一系统窗口的设计,比如在Windows系统里,只需要创建一个窗口,然后所有的绘制和子窗口都是自己在这个窗口里实现,并且不再使用系统的UI功能,全部是自己通过OpenGL实现。所以在Blender每一个系统窗口采用一个屏幕对象结构--bScreen数据结构来描述,然后在屏幕里再分割子窗口--screen area。因此我们先要来学习bScreen数据结构,才能明白UI是怎么样实现屏幕级别的层次。

typedef struct bScreen 

  ID id;



  /* TODO: Should become ScrAreaMap now.

   * NOTE: KEEP ORDER IN SYNC WITH #ScrAreaMap! (see AREAMAP_FROM_SCREEN macro above). */

  /** Screens have vertices/edges to define areas. */

  ListBase vertbase;

  ListBase edgebase;

  ListBase areabase;

  /* End variables that must be in sync with #ScrAreaMap. */



  /** Screen level regions (menus), runtime only. */

  ListBase regionbase;



  struct Scene *scene DNA_DEPRECATED;



  /** General flags. */

  short flag;

  /** Winid from WM, starts with 1. */

  short winid;

  /** User-setting for which editors get redrawn during anim playback. 

以上是关于用Delphi或易语言如何实现在屏幕区域里查找图形?的主要内容,如果未能解决你的问题,请参考以下文章

delphi中如何获得当前屏幕photoshop选择区域右上角的坐标值

delphi不用getdc如何屏幕截图

C语言画图模式下如何将当前坐标赋给一个变量?方面下面引用该坐标值。

delphi中如何实现多线程对Canvas的同时访问

DELPHI问题,高手进

delphi 如何后台找色?