Photoshop Scripting 高阶编程(1):取色器的应用

有如下示例图片一张,需要把其中各个圆点的颜色取出,并成对匹配上。

要解决这么几个问题:

1)如何取色。
2)取色后的存储与匹配方法。

var doc = app.activeDocument;var centerX = 375;
var centerY = 627;var tmpColors = new Array(0);
var tmpDots = new Array(0);
for (var i = -2; i <= 2; i++)
{for (var j = -2; j <= 2; j++){var tmpX = centerX + 148 * i;var tmpY = centerY + 148 * j;var color = getColor(tmpX, tmpY);// alert ("color: " + color.rgb.red + ", " + color.rgb.green + ", " + color.rgb.blue);if (isNotEmpty (color)) {// alert ("is not empty");var isExistingColor = false;for (var k = 0; k < tmpColors.length; ++k) {var colorRecorded = tmpColors[k];if (isSameColor (colorRecorded, color)) {// alert ("add this existing color as B");tmpDots[k * 2 + 1] = [i + 2, -j + 2];isExistingColor = true;break;}}if (!isExistingColor) {// alert ("add this new color as A");tmpColors.push (color);tmpDots.push ([i + 2, -j + 2]);tmpDots.push ([-1, -1]);}}}
}// alert ("colors length: " + tmpColors.length);
// alert ("dots length: " + tmpDots.length);var levelNum = doc.name.split(".")[0];
var result = levelNum + "; " + tmpColors.length + "; ";
for (var a = 0; a < tmpDots.length; a += 2) {result += ("(" + tmpDots[a][0] + "," + tmpDots[a][1] + "):" + "(" + tmpDots[a + 1][0] + "," + tmpDots[a + 1][1] + "); ");
}alert (result);function getColor(x, y)
{doc.colorSamplers.removeAll();var myColorSampler = doc.colorSamplers.add([0, 0]); myColorSampler.move([x, y]);return myColorSampler.color;
}function isNotEmpty(color)
{if (color.rgb.red <= 32 && color.rgb.green <= 32 && color.rgb.blue <= 32) {return false} else {return true;}
}function isSameColor(color1, color2)
{var deltaR = color1.rgb.red - color2.rgb.red;var deltaG = color1.rgb.green - color2.rgb.green;var deltaB = color1.rgb.blue - color2.rgb.blue;if (deltaR < 8 && deltaR > -8 &&deltaG < 8 && deltaG > -8 &&deltaB < 8 && deltaB > -8) {return true;} else {return false;}
}

完成。

Photoshop Scripting 高阶编程(1):取色器的应用相关推荐

  1. JAX-FLUIDS:可压缩两相流的完全可微高阶计算流体动力学求解器

    原文来自微信公众号"编程语言Lab":论文精读 | JAX-FLUIDS:可压缩两相流的完全可微高阶计算流体动力学求解器 搜索关注"编程语言Lab"公众号(HW ...

  2. python中高阶函数和装饰器_三.Python高阶函数和装饰器

    1高阶函数 1.1 数学概念回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: ...

  3. python中高阶函数和装饰器_Python高阶函数与装饰器函数的深入讲解

    本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧 高阶函数 1.可以使用函数对象作为参数的函数 2.或可以将函数作为返回值的函数 3.函数 ...

  4. 原生js循环展示dom_web前端教程:JS高阶编程技巧-惰性函数

    框架(framework)是一个框子--指其约束性,也是一个架子--指其支撑性.是一个基本概念上的结构,用于去解决或者处理复杂的问题. Web前端教程 框架这个广泛的定义使用的十分流行,尤其在软件概念 ...

  5. python高阶函数闭包装饰器_Python自学从入门到就业之高阶函数、嵌套函数、闭包、装饰器...

    高阶函数 在Python中,函数其实也是一种数据类型. def test(): return 'hello world' print(type(test)) # 函数对应的数据类型是 function ...

  6. python开发基础04-函数、递归、匿名函数、高阶函数、装饰器

    匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1):return x+y+z匿名 lambda x,y,z=1:x+y+z #与函数有 ...

  7. python高阶函数闭包装饰器_Python_基础_(装饰器,*args,**kwargs,高阶函数,函数闭包,函数嵌套)...

    一,装饰器 装饰器:本质就是函数,功能是为其它的函数动态添加附加的功能 原则:对修改关闭对扩展开放 1.不修改被修饰函数的源代码 2.不修改被修改函数的调用方式 装饰器实现的知识储备:高阶函数,函数嵌 ...

  8. chapter2.3、react高阶组件,装饰器

    React 技术 高阶组件 let Root = props => <div>{props.schoolName}</div>; 如果要在上例的Root组件进行增强怎么办 ...

  9. clodeblocks debug断点调试_Intellij IDEA高阶DEBUG大杀器

    前言 目前工作中由于环境复杂等客观因素,无法在本地启动项目进行 Trouble Shooting,需要打开测试环境的 DEBUG 端口,进行远程调试.为了不影响其他用户同时使用测试环境以及相关系统的正 ...

最新文章

  1. HTML标签元素的分类
  2. php生成svg图片不显示,css svg不显示不出来怎么办
  3. 对称构型机器人轮直径校准思路
  4. 用语言控制Linux:Linux的语音识别软件
  5. android 卷帘动画,Android卷帘门动画实践
  6. PHP使用DES进行加密和解密
  7. 思科网院Packet Tracer实验(七)IP编址
  8. matlab调用函数画图,matlab画图之pcolor函数
  9. ORACLE清空数据库中所有表中的数据
  10. 英伟达显卡虚拟化vGPU实践指南
  11. 校OJ P1220 -- zyf的现状
  12. R语言使用grid包的unit函数将数据对象转化为有计量单位的数据(例如转化为毫米单位、长度单位mm)
  13. input-group两侧添加额外元素
  14. 春节后第一周个人新闻两则
  15. u-boot 顶层Makefile 分析
  16. Redis docker安装及redis.conf配置文件解析
  17. 辉芒微单片机的c语言仿真器,辉芒微单片机
  18. 《Microduino实战》——3.1 准备开发环境
  19. hive SQL优化
  20. 淘宝商品主图销量促销价查询接口

热门文章

  1. $.each()的理解
  2. 还在找免费的能提供HTTPS协议外链的图床?这个开源插件轻松完成
  3. [LeetCode]Medium - Cutting Ribbons - python
  4. 天地不仁,以万物为刍狗No.42
  5. 做完近视手术应该注意什么?近视术后护理攻略请你收下
  6. 开发初探-前端日记 — html、css的使用,模拟制作百度登陆界面
  7. 计算机程序设计实验报告4答案,程序设计实验报告4
  8. OAuth认证原理与第三方登录
  9. 一缕黑暗中的火光-----------协作图--------------优雅的建模语言
  10. 域名国家工程研究中心(ZDNS)培训认证中心正式成立