Coloursをフレームワーク化したcolorsKit.frameworkを呼び出して、指定の任意のRGB色2色の色差(ΔE)を計算するAppleScriptです。
色差を求めるためには、RGB色をXYZを経由してL*a*b*色に変換する必要があります。変換自体はColoursの内蔵機能で行っています。
ただし、色差を求める際にNSColor’s whiteColor()などと通常のメソッドで求めたNSColorとColoursの機能を用いて求めたNSColorとの間で計算をするとエラーになります。色差の計算はColoursの機能を用いて作成したNSColor同士で行う必要があるようです。
AppleScript名:任意の2色の色差ΔEを求める |
— Created 2017-12-29 by Takaaki Naganoya — 2017 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "colorsKit" –https://github.com/bennyguitar/Colours use framework "AppKit" property NSColor : a reference to current application’s NSColor set aASCol to choose color set bASCol to choose color set aCocoaList to retCocoaColorList(aASCol, 65535) of me set bCocoaList to retCocoaColorList(bASCol, 65535) of me set aCol to NSColor’s colorFromRGBAArray:aCocoaList set bCol to NSColor’s colorFromRGBAArray:bCocoaList set aDist to aCol’s distanceFromColor:bCol type:2 –ColorDistanceCIE2000 return aDist –Convert "choose color" RGB list (0-65535) to Cocoa color RGBA Array (0.0-1.0) on retCocoaColorList(aColorList, aMax) set cocoaColorList to {} repeat with i in aColorList set the end of cocoaColorList to i / aMax end repeat set the end of cocoaColorList to 1.0 return cocoaColorList end retCocoaColorList |
More from my site
(Visited 113 times, 1 visits today)