電子書籍「Cocoa Scripting Course」の第7巻、NSColorを刊行しました。PDF 478ページです。
→ 販売ページ
本書は、Cocoa Scripting本の第7弾。色関連の処理をAppleScriptで行いたい人向けの解説書です。画像処理やRTF処理などで避けては通れない「色」に関する内容です。
色についての処理は割と概念が独特で、色空間、色の扱い、色差(ΔE)、明度計算などなど、知っていれば「そんなもんか」という程度のものですが、知らないとさっぱり分かりません。
ささいなOS上の色設定の情報をplistから読み取って処理するような場合にも、「普通、RGB値の色しか設定しないよね」と誰もが思っていたスクリプトエディタの構文色分け設定に、CMYK色やGrayscale色を設定しているユーザーがいて、慌てていろいろ対応する羽目になったりと、いい思い出がたくさんあります。
Adobe Swatch Exchangeファイル書き出しや、頻出色のリストアップ、近似色の計算や色差ΔEの計算など、今日明日からすぐに役立つ内容を多く含んでいます。
目次
1章 入門編
Cocoa Scriptingの概要
Cocoa Scriptingってどういうもの?
Cocoa Scriptingの実際
Cocoa Scriptingの威力
Cocoa Scriptingのメリット
Cocoa Scriptingに必要なもの
Cocoa Scriptingまとめ
Cocoa Scripting9つの誓い
Cocoa Scriptingに適したmacOSについて
Cocoa Scripting環境の進化の歴史
Cocoa Scriptable macOS
参考資料:AppleScriptランタイム環境情報
Cocoa Scripting環境ごとの挙動の違い
SIP解除の是非
プログラミングスタイル
開発・実行環境のちがい
処理手順の違い
メインスレッド実行が必須な機能のScripting
delegation, notification
実行スタイルの違いによる書き換え
AppleScriptでCocoaオブジェクトを呼び出すと…
サブルーチン記述
オブジェクト階層を示すmyとme
クラス拡張
高速なCocoa Scriptを書くためには
アプリケーションとのやりとり
暗黙の型変換
一部のコマンドで書き換えが必要
計算の優先順位を示すカッコを修正
オブジェクトの数え方
情報の調べ方
Cocoa Scriptingを行う際の調べ方
Appleのオンラインドキュメント
Xcodeでヘッダーファイルを「素早く開く」
ヘッダーファイルの歩き方
ヘッダーファイルの構成要素
Deprecatedな機能に遭遇した場合
Enum(定数)の記載パターン
AppleScriptの数値表現幅を超えるEnum(定数)
2章 実践編
Cocoa Scriptを実際に動かす
Script Editor/Script Debuggerを起動
Cocoa Scriptを実行
Cocoa Objectのログを表示
Cocoa Scriptの書類を保存
Cocoa Scriptのエクスポート形式
Objective-CのCocoa呼び出し記述をAppleScript記述に翻訳する
Cocoa Script(AppleScriptObjC)の構成
Objective-Cの各種データ表記書き換え(1/3)
Objective-Cの各種データ表記書き換え(2/3)
Objective-Cの各種データ表記書き換え(3/3)
Cocoaメソッド名の大文字小文字指定
Cocoaメソッド名の変換(1/3)
Cocoaメソッド名の変換(2/3)
Cocoaメソッド名の変換(3/3)
基礎的なCocoaオブジェクト解説
メソッド呼び出し時のパラメータ
NSString(文字列)
NSArray(配列)
NSDictionary(辞書)
Number(数値)
Enum(定数)
nil
NSObject
Cocoa Scriptingの特徴的な動き
AppleScriptとCocoa間の
オブジェクト変換
AppleScriptオブジェクトに対応するCocoaクラス
配列関連のCocoaクラス
レコード関連のCocoaクラス
文字列関連のCocoaクラス
日付関連のCocoaクラス
File Path関連オブジェクト
File Path関連オブジェクト変換方法
画像関連Cocoaオブジェクト
ファイルパス文字列(NSString)関連(1/2)
ファイルパス文字列(NSString)関連(2/2)
URL関連
Remote URL文字列関連(1/2)
Remote URL文字列関連(2/2)
Local File URL文字列関連
配列関連
Dictionary関連
NSString文字エンコーディング関連
Color関連
HTML関連
Cocoa Object同士の変換、生成
NSData
Styled String(1/2)
Styled String(2/2)
2次元座標データ
1次元座標系データ
言語、Locale系データ
有用なCocoaオブジェクト(抜粋)
3章 NSColor編
Colorデータの位置付けと役割
NSColor Basic Samples
NSColorList Basic Samples
NSColorSpace Basic Samples
4章 Color処理 基礎編
choose colorコマンドで表示されるカラーピッカーの使い方
choose colorコマンドで指定したRGB色でNSColorを作成
Numbers書類上に記入したRGB値を色プレビュー
NSColorからRGBAの各要素を取得
RGB色からHSBA色に変換
NSColorからHSBAの各要素を取得
NSColorから色空間名を取得
鉛筆(クレヨン)ピッカーに登録されている色名を取得
5章 Color処理 上級編
色から明度情報を取得
画像の指定座標のピクセルの色情報を取得
AppleScriptの構文色分け設定の書式情報読み取り
HTML色コードの取り扱い
CIColorを作成してCoreImageフィルタを実行
ざっくりとした色判定(カラードメイン処理)
色差(ΔE)を計算する
色名を推定(dbColNamesKit)
色のポスタライズ
頻出色の抽出(ColorCube)
2つの色の合成
輝度をMAXにした色を取得(Colours)
Adobe Swatch Exchangeファイル作成
画像の空白判定
添付サンプルScript紹介
資料編
Cocoa Scripting関連のAppleScript命令
Cocoa ScriptingとScript Object
AppleScript Droplet
サードパーティ製FrameworkやAppleScript Librariesを呼ぶ
AppleScript mini reference
AppleScript 各種ランタイム環境および関連ツール
AppleScript予約語一覧
エラーコード表
理解度確認テスト
あとがき、奥付