嗨玩手游网

「Scratch入门教程」第10讲 识别颜色

情节:

聪明的小猫咪能够准确的识别颜色了

构思:

绘制背景,选用矩形工具画几个长方形的条,再用填充工具填充不同的颜色。再来选择角色:猫咪

怎么样使猫咪触碰到颜色呢,必须让他走起来,我们让它直线行走,一直走到边缘,那快来编写行走的程序块吧。

编写碰到颜色的程序,假如碰到黄色就说“这是黄色”而且一边识别,一边行走。在侦测的时候需要重复执行,因为不知道什么时候会碰到什么颜色。

拓展:如何让猫咪不停的走呢?碰到边缘就回到起点,没碰到边缘就向前行走。

如何使用Chrome浏览器隐藏的颜色选择器工具

在访问不同的网站时,我们有时会遇到某个具有引人注目的配色方案的网站。那时,我们非常想抓住那些颜色代码。然而,获取任何颜色的十六进制代码并不容易。

您需要使用颜色选择器工具来获取任何颜色的十六进制代码。现在有很多适用于 Chrome 浏览器的颜色选择器扩展。颜色选择器扩展为您提供屏幕上任何颜色的十六进制代码。但是,如果我告诉您不需要安装扩展来获取颜色的十六进制代码怎么办?

Google Chrome 网络浏览器有一个隐藏的颜色选择器工具,可用于获取背景颜色或字体颜色的十六进制代码或 RGB 值。在这篇文章中,我们将分享一个工作方法,让您可以使用Chrome浏览器隐藏的颜色选择器工具。

使用Chrome浏览器的隐藏颜色选择器工具

这种方法的好处是你不需要安装任何软件或扩展来获取任何颜色的十六进制代码。让我们看看如何使用 Chrome 网络浏览器上隐藏的颜色选择器工具。

1. 首先,在计算机上启动 Google Chrome 浏览器。

2. 完成后,前往您想要查找颜色代码的网站。右键单击空白处并选择“检查”

3. 现在在开发人员工具上,您必须查看“样式”部分。

4. 向下滚动,直到找到网页上使用的 CSS 样式。您会注意到一个小方块的颜色。

5. 只需单击显示颜色的小方块即可打开颜色选择器。

6. 您现在将看到吸管工具。您需要将鼠标悬停在网站上使用的配色方案上。这将显示颜色的十六进制代码。

就是这样!你完成了。现在您可以将十六进制代码复制到剪贴板并在您的项目中使用它。

在 Chrome 上使用颜色选择器扩展

Chrome 的颜色选择器扩展允许您从网页、图像和视频中获取颜色。这些扩展程序适用于 Chrome,并且与您访问的每个网页兼容。这是您可以使用的最佳颜色选择器 Chrome 扩展。

1. 颜色选择工具 – Geco

颜色选择器工具 – Geco 是一款免费的 Chrome 扩展程序,可让您从任何网页抓取颜色。您可以使用它来识别颜色的 RGB、HEX 和 CMYK 代码。

识别颜色代码后,您可以将它们保存并编辑为漂亮的调色板组合。 Chrome 扩展还提供了 RGB 轮来调整所选颜色。

2. ColorPick 滴管

ColorPick Eyedropper 是另一个出色的 Chrome 颜色选择器扩展,可让您从网页和网络应用程序中选择颜色值。

您需要授予扩展程序访问所有网站的权限,然后您就可以选择颜色了。该扩展可以检测 PNG 和 JPEG 质量的颜色。

3.ColorZilla

ColorZilla 是一款一体化颜色选择器和 Chrome 颜色渐变生成器扩展。它具有先进的吸管和颜色选择器工具,可以检测任何网页的颜色代码。

ColorZilla 的吸管可以获取页面上任何像素的颜色。您还有一个网页颜色分析器,可以获取任何网站上使用的调色板。

这些是您现在可以使用的最佳 Chrome 颜色选择器工具。这些扩展可以免费下载和使用,并且可以识别无限的颜色代码。

ColorSchemerStudio-专业配色网页设计、平面设计师必备工具

  ColorSchemerStudio是一款专业配色软件,网页设计或平面设计师必备工具,和ColorPixV1.2屏幕取色同属一个公司佳作,使用ColorSchemerStudio2.1汉化版吸取屏幕任一色彩通过ColorSchemerStudio进行识别可搜索,超过100万种现有的配色方案,进行调色,创建渐变混合以制作出完美的网页或印刷效果。帮你快速容易的建立漂亮的颜色搭配方案,使用时浏览颜色有一个动态的视觉颜色盘可以实时查看颜色的是否协调,混合调色,升降颜色值,还能进行对比分析和读出颜色值。ColorSchemerStudio带有多种颜色库,可以方便快捷搭配颜色,能把搭配好的颜色生成网页模版,快速浏览保存成png格式图片。相当不错。

  ColorSchemerStudio功能特色:

  1.ColorSchemerStudio支持屏幕取色作为起始色彩保存在ColorSchemerStudio色库使用,动态色盘识别色轮色彩来匹配颜色,它就像一个生活中旋转艺术家色轮

  2.把色彩直接拖放到 Color Schemer Studio 中,它会自动识别色彩种类,使您轻松了解图像的各种色值

  3.可连接到COLOURlovers社区浏览,搜索和下载超过100万种预制的配色方案

  4.为了直观的试验配色方案,可将色彩直接拖放到ColorSchemerStudio的预览程序中进行网页,印刷等形式的预览。

  5.生成的自定义LiveScheme公式直观地创建自定义LiveScheme色彩理论。

  6.调色和创造梯度混合,使用内置的颜色混合器混合,以建立一个单一的颜色或两种颜色之间渐变的路径。

  7.使用变化的颜色调色板找到类似或相关的任何起动基色。

  8.分析对比可读性和普遍性使用对比分析仪检查足够的对比度和于W3C的可读性,WCAG,或HP无障碍建议为基础,以生成文本和背景颜色组合。

  9.通过色盲的眼睛颜色查看:使用色盲模拟查看你的颜色与任何计划的颜色

  10打印你的配色方案使用内置的打印程序来打印你的配色方案。

简单编程:屏幕找图找色找字,自动化操作

屏幕找字:使用系统自带组件

其实 Windows 10/11 系统自带的一个强大、免费的屏幕图像文字识别组件,调用该组件生成的 EXE 文件体积很小。

下面我们用 aardio 编程语言写个例子,代码很简单,先上图看效果:

请复制下面的源代码粘贴到 aardio 中,再按「运行」按钮就可以看到上图的效果 —— 程序自动找到了屏幕上的文本,鼠标自动移到了该位置。

import mouse;import dotNet.ocr;//创建 OCR 对象var ocr = dotNet.ocr();//识别屏幕上的文字var ocrResult = ocr.detectScreen()//查找文字在屏幕上的位置var x,y = ocrResult.findPoint("把鼠标移动到这里",0.1);mouse.moveTo(x,y,true)

上面就是一个完整的程序了,aardio 写程序就这么简单。

这个系统 OCR 组件其实是一个 UWP 组件,不过 aardio 调用 .NET 组件、或者调用 UWP 组件都非常方便。参考「 aardio 范例 > 调用其他语言 > dotNet > 调用 UWP 接口 」:

屏幕找字:调用开源、免费、强大、绿色的 chineseocrlite

aardio 基于 chineseocrlite 封装了 string.ocrLite 扩展库,支持生成绿色、独立的 EXE 文件,带模型生成的EXE打包后仅 十几 MB。

调用源代码很简单,先上图看效果:

请复制下面的源代码,粘贴到 aardio 中,再按「运行」按钮就可以看到上图的效果 ——鼠标自动移到了屏幕上指定文本所在位置。

import mouse;import string.ocrLite;import string.ocrLite.defaultModels;//创建 OCR 对象var ocr = string.ocrLite();//识别屏幕上的文字var ocrResult = ocr.detectScreen();//查找文字在屏幕上的位置var x,y = ocrResult.findPoint("把鼠标移动到这里",0.2);mouse.moveTo(x,y,true);

大家可能注意到了,aardio 中很多库的接口、用法都一样,可以一通百通。

如果是制作自动化机器人之类的软件,识别屏幕上文字的能力就好像机器人的眼睛一样重要。尤其是现在很多无窗口界面的软件,通过 OCR 组件就可以较好地定位到界面上指定的部位进行准确的操作。大家可以试试 OCR 结合 aardio 标准库里的 winex.mouse, mouse 等可以实现非常酷的效果,另外 aardio 工具里的「探测器->窗口探测器」也很重要(可以生成示例代码)。

屏幕找色

找色很简单,请复制下面的范例代码粘贴到 aardio 中,然后点「运行」就可以看到效果:

import gdi;import win;import mouse;import soImage;//抓屏var imgScreen = soImage();imgScreen.capture(); //在图像上搜索指定颜色的点,//第一个参数是一个表示查找颜色的数值,更多参数用法请查看智能提示var x,y = imgScreen.findColor( gdi.RGB(48,171,53) );//返回该坐标所在显示器左上角位置var scrX,scrY = win.getScreenPos(x=x,y=y); //快速移动鼠标(相对移动)mouse.move(scrX,scrY,true);//获取虚拟屏幕位置,双屏幕时可能起始坐标可能返回负数var scrX,scrY = win.getScreenPos(); //慢速移动鼠标,显示移动轨迹mouse.moveTo(x+scrX,y+scrY,true);

注意 mouse.moveTo() 函数移动鼠标时可以看到移动轨迹,改为 mouse.move() 函数可以直接移动到指定坐标。

屏幕找图

aardio 里屏幕找图就更简单了,首先加载要查找的图像:

import soImage;var img = soImage();img.load("/res/find.jpg");

"/res/find.jpg" 可以是硬盘上的图像文件路径,也可以是 EXE 资源文件路径(可以生成独立 EXE )。

也可以自内存直接加载图像,如下用第 2 个参数指定图像文件后缀名:

img.setBytes( imgBytes,"*.png");

查找图像要尽可能的小,并尽可能裁剪去掉背景,突出查找特征。

使用 img.findImage 全屏找图,也可以使用下面的函数在指定窗口内找图:

var sm,x,y = imgFind.findImageInWindow(hwnd);

上面的 hwnd 参数指定窗口句柄。返回值 sm 为相似度( 0 到 100 之间的值,100 为完全相似,0 为完全不相似 ),返回值 x,y 为找到图像的右下角坐标。

自动化操作

找图找色找字的目的是自动化操作,aardio 与自动化操作有关的库如下:

win //窗口操作winex //外部程序窗口操作winex.accObject //Microsoft Active Accessibility 自动化接口winex.key //后台键盘操作winex.mouse //后台鼠标操作key //键盘操作mouse //鼠标操作process //进程操作soImage //找图找色

与自动化操作有关的范例:

网页自动化就不必用上面这些了,直接使用浏览器控件就可以,可参考我之前写的文章 更简单地自动化操作浏览器 。「aardio 范例 > Web 界面」也可以看一下:

更多攻略
游戏推荐
更多+