« [Memo]AELWriter | トップページ | [VersionCue]Failed to check-in! »

[AppleScript]ファイルのカラースペースでラベルを塗りわける

Image Eventsを使って
カラースペースの違いを判定して
ラベルを塗り分ける
自分用につきエラー制御無し..w

OSX10.6x

ちなみにRGBカラーはこちら[LINK]OpenNewWindow
のように取得できますね。

CMYKはラベル無し
RGBは赤
グレイスケールはグレー
不明だった物は黄色

に塗り分けます。

「ColorLabel.app.zip」をダウンロード[Download]DownloadFile

「ColorLabel.rtf」をダウンロード[Download]DownloadFile




on open DropObj
tell application "Finder"
activate
set cr to ASCII character (13)
set the FileColor to "" as Unicode text
set the theName to "" as Unicode text
end tell
------------------------------------------------本作業
repeat with ObjFiles in DropObj
set afile to ObjFiles
---------------ファイルのカラースペースを取得
tell application "Image Events"
launch
set this_image to open afile
set the props_rec to the properties of this_image
close this_image
set the FileColor to ""
set the FileColor to (color space of props_rec) & return
set the FileColor to FileColor as Unicode text
end tell
-------------------------ファインダーへ渡す
tell application "Finder"
------------------------カラースペースの戻り値を整形
set FileColor to my replace(FileColor, "«constant", "")
set FileColor to my replace(FileColor, "*", "")
set FileColor to my replace(FileColor, "»", "")
set FileColor to my replace(FileColor, " ", "")
set FileColor to my replace(FileColor, cr, "")
set the FileColor to FileColor as Unicode text
------------------------------ラベルで色を塗る
-------------------------------------------------RGBは2で赤
if FileColor is "RGB" then
set label index of afile to 2
--------------マルチは1でオレンジ
else if FileColor is "Eightchannel" then
set label index of afile to 1
else if FileColor is "Eightcolor" then
set label index of afile to 1
else if FileColor is "Sevenchannel" then
set label index of afile to 1
else if FileColor is "Sevencolor" then
set label index of afile to 1
else if FileColor is "Sixchannel" then
set label index of afile to 1
else if FileColor is "Sixcolor" then
set label index of afile to 1
else if FileColor is "Fivechannel" then
set label index of afile to 1
else if FileColor is "Fivecolor" then
set label index of afile to 1
----------LAB
else if FileColor is "Lab" then
set label index of afile to 4
else if FileColor is "Named" then
set label index of afile to 5
else if FileColor is "XYZ" then
set label index of afile to 6
-------グレイ7はグレー
else if FileColor is "Gray" then
set label index of afile to 7
--------CMYK0でラベル無し
else if FileColor is "CMYK" then
set label index of afile to 0
---------分らなかったものは3で黄色
else if FileColor is "missingvalue" then
set label index of afile to 3
else
set label index of afile to 3
end if
-------------------------------------------------
set the FileColor to ""
end tell
end repeat
end open


--------------------------------------------------#ここからサブルーチン
to replace(theText, orgStr, newStr)
set oldDelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to orgStr
set tmpList to every text item of theText
set AppleScript's text item delimiters to newStr
set tmpStr to tmpList as text
set AppleScript's text item delimiters to oldDelim
return tmpStr
end replace

ポイントは

set label index of afile to X


afile は ファイル フォルダ の alias タイプ

X は
0 はラベル無し
1 オレンジ
2 レッド
3 イエロー
4 グリーン
5 ブルー
6 パープル
7 グレー

Screencapture00220912_45342

赤 と オレンジ がテレコになっていますので 注意してください


----ファイルを選択して FileAlias に格納
set FileAlias to choose file "変更するファイルを選択"

tell application "Finder"

-----ラベルを5番色に塗る
set label index of FileAlias to 5

end tell

|

« [Memo]AELWriter | トップページ | [VersionCue]Failed to check-in! »

Colors」カテゴリの記事

コメント

この記事へのコメントは終了しました。