Cocoa Scripting Course #5 NSImage
- ダウンロード商品¥ 5,000
【AppleScript中〜上級者け】【図を中心に構成、文字数すくなめ】 書名:「Cocoa Scripting Course Volume #5 NSImage」 著者:Takaaki Naganoya(Piyomaru Software) 監修:edama2氏 ページ数:473ページ(うち、Vol.5独立部分259ページ) フォーマット:PDF+Zipアーカイブ 特別特典: Script Debuggerの15%割引購入コード入り 購入後3か月まで、本書の内容で理解できない箇所について3か所まで補足説明 理解度確認テストで合格した方に修了証明書を発行
内容
macOSのAPIであるCocoaをAppleScriptから利用し、macOSの持つ強力な機能をアプリケーションの補助なしに直接呼び出せる「Cocoa Scripting」は、日々の業務やデータ処理に、たいへん強力な武器になります。 この、Cocoa Scriptingについてはとくに日本語の書籍が存在しておらず、これまでは「Xcodeの使い方、GUIの作り方、各メソッドの使い方……」といった、体系がまったく異なるObjective-Cの入門書で断片的に情報を得ることしかできませんでした。 本シリーズは、Cocoa APIの使い方をAppleScriptに合わせて解説。とくに、Objective-C/Swift入門書にある膨大な「Xcodeの使いこなし」部分は覚える必要はありません。図を中心に説明することで、難解な概念を理解しやすく解説します。 Vol.5は、画像処理をAppleScriptだけで行えれば、他のGUIアプリケーションなしで済ませられるという野望の書です。 画像処理は、Cocoa Scriptingに着手したくなる大きな理由のうちの1つです。 手元にあるアプリケーションを部品に使って、さまざまなアプリケーションを組み合わせてワークフローを組み立てられるAppleScriptの手頃さは他に代え難いものがあります。ただ、そんなScriptを納品したり他人に売るといったことを考えると、特定のアプリケーションがないと成立しないというのでは、導入先の数が減ってしまいます。 画像を見ながら加工するスタイルではなく、一括バッチ処理で加工するとか、フィルタをかけてグレースケール化してクリップボードに設定したいといった、UIによるやりとりを伴わない画像処理では「けっこうなことができる」という感触を得ています。扱うのがRGB画像なら問題はないでしょう。
構成
Cocoa Scriptingについての解説部分、各巻で個別の説明部分、そして対象のCocoa APIを利用したサンプルScriptアーカイブから構成されます。 巻末には、理解度を確認するためのテストが用意され、筆者に回答を送ると採点を実施。合格点(100点)を取った方には「修了証明書」(PDF形式)を発行します。
目次
■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章 NSImage編 NSImageの位置付けと役割 用途別のフレームワークを知ろう NSImage NSImageのつかいどころ NSImageならではの注意点 NSImage Basic Samples imageNamed:① imageWithSystemSymbolName:① accessibilityDescription:② setName:① name initWithContentsOfFile:① initWithContentsOfURL:① initWithData:① initWithSize:① size canInitWithPasteboard:① imageTypes imageUnfilteredTypes prefersColorMatch usesEPSOnResolutionMismatch matchesOnMultipleResolution valid backgroundColor resizingMode lockFocus lockFocusFlipped:① unlockFocus cacheMode TIFFRepresentation ■4章 画像処理 基礎編 AppleScript+NSImageでよく使う 基礎的な処理一覧 AppleScript+NSImageでよく使う基礎的な処理一覧 画像の色再現性 NSImageが認識できる画像の種類 Photoshopデータへのアクセス 画像ファイルの読み込み 画像ファイルの読み込み 画像のファイル書き込み 画像のファイル書き込み コンピュータアイコン画像取得 コンピュータアイコン画像取得 画像塗りつぶし 画像の矩形塗りつぶし 画像の円形塗りつぶし 透明色による画像塗りつぶし① 透明色による画像塗りつぶし② カラー作成 choose colorで指定したカラーの画像作成 角丸の画像塗りつぶし 角丸の画像塗りつぶし① 角丸の画像塗りつぶし② 画像のファイル形式変換 画像のファイル形式変換 指定画像をPNG画像で保存 指定画像をTIFF画像で保存 指定画像をJPEG画像で保存 指定画像をBMP画像で保存 指定画像をGIFF画像で保存 指定画像をICNS画像で保存 指定画像をPDF画像で保存 画像のサイズ変更(リサイズ) 画像のサイズ変更(リサイズ) 画像のサイズ変更(アンチエイリアス有) 画像のサイズ変更(アンチエイリアスなし) 画像詳細情報取得 画像詳細情報取得 🅐JPEGファイルのExifデータ取得① 🅐JPEGファイルのExifデータ取得② 🅑macOSが付与しているメタデータを読み取る 🅒それ以外の画像情報 画像切り抜き 画像切り抜き 指定矩形範囲内のトリミング① 指定矩形範囲内のトリミング② 「余白」部分の自動切り抜き 破損画像チェック 破損画像チェック 背景透過の単色画像に任意の色を指定 背景透過の画像に任意の色を指定① 背景透過の画像に任意の色を指定② 画像中の指定座標の 色情報を取得 画像中の指定座標の色情報を取得 画像中の指定色を 任意の色に置き換え 画像中の色置換① 画像中の色置換② 画像のbase64文字列化 画像のbase64文字列化 複数画像をつなぎ合わせる 複数画像をつなぎ合わせる(横方向) 複数画像をつなぎ合わせる(横方向) アニメーションGIFの処理 アニメーションGIFの処理 アニメーションGIFのフレーム数をかぞえる アニメーションGIFをGIFF画像に分解 アニメーションGIFをPNG画像に分解 画像への文字描画 画像への文字描画(新規作成)① 画像への文字描画(新規作成)② 画像への文字描画(既存画像に描画)① 画像への文字描画(既存画像に描画)② 画像へのフィルタ処理 画像へのフィルタ処理 画像へのCIFilterの実行① 画像へのCIFilterの実行② 画像へのGPUImageフィルタの実行① 画像へのGPUImageのフィルタ実行② ■5章 画像処理 上級編 重複画像検出処理 重複画像検出① 重複画像検出② 画像文字認識(OCR)処理 画像文字認識(OCR)処理 画像認識処理 画像顔認識処理① 画像顔認識処理② 画像顔認識処理③ 画像顔認識処理④ 画像図形認識① 画像図形認識② 画像図形認識③ 画像図形認識④ 画像文字認識① 画像文字認識② 画像文字認識③ QRコード画像、バーコード画像作成/認識処理 QRコード、バーコード画像作成/認識 QRコード画像作成① QRコード画像作成② QRコード画像認識① QRコード画像認識② QRコード画像認識③ 1Dバーコード画像作成① 1Dバーコード画像作成② CIFilterによる1Dバーコード画像作成① CIFilterによる1Dバーコード画像作成② 画像合成処理 画像合成処理① 画像合成処理② 画像合成処理③ 画像合成処理④ 画像合成処理⑤ 画像合成処理⑥ 空白画像検出処理 空白画像検出処理① 空白画像検出処理② 空白画像検出処理③ 機械学習モデルによる 画像仕分け処理 機械学習モデルによる画像仕分け処理 mlmodelで指定画像を評価するプログラム mlmodelを含んだ判定Framework呼び出しScript mlmodelによる画像仕分けScript① mlmodelによる画像仕分けScript② 超解像処理(2x) 超解像処理 カラースペース変換 カラースペース変換 画像のグレースケール変換 ■添付サンプルScript紹介 サンプルScript集 添付Framework &ライブラリ(1/2) 添付Framework &ライブラリ(2/2) ■資料編 Cocoa Scripting関連のAppleScript命令 Cocoa ScriptingとScript Object(Script文) Script Object内でCocoa Scriptingを行う Handlerの間接呼び出し AppleScript Droplet セキュリティ制限を回避するDropletの書き方 サードパーティ製FrameworkやAppleScript Librariesを呼ぶ Script BundleにFramework / AppleScript Librariesを入れる Shane StanleyのScript Toolの変遷 Shane StanleyのScript Libraries Piyomaru SoftwareのScript Libraries AppleScriptから呼べる主要Framework AppleScriptから呼んだことのあるOS Framework 各macOSのFrameworkの変化 AppleScript mini reference macOS搭載 AppleScript関連ドキュメント AppleScript関連の情報源 macOSバージョンとAppleScriptの動向 macOSとAppleScriptの要素技術史 各macOSごとのAppleScript解説 macOS内AppleScript補助ツールの歴史 System EventsのAppleScript用語辞書変更点 AppleScript 各ランタイム環境情報 Claris FileMaker Pro上のAppleScriptランタイムの特徴 FileMaker Pro上でのCocoa Scriptingの注意点 AppleScript 各種ランタイム環境および関連ツール アプリケーション内蔵メニュー① アプリケーション内蔵メニュー② Cocoa Scripting 関連ツール AppleScript予約語一覧 エラーコード表 理解度確認テスト