« 2013年3月 | トップページ | 2013年5月 »

COPIC Collection

iTunes App Storeで見つかる iPhone 3GS、iPhone 4、iPhone 4S、iPhone 5、iPod touch(第3世代)、iPod touch (第4世代)、iPod touch (第5世代)、およびiPad 対応のCOPIC Collection


|

[Diff]SmartSynchronize

SmartSynchronize - File/Directory Compare


Javaベースなのが、好みが別れるかな
利用する場合はJavaの最新パッチをあててからが好ましい

3面比較出来るのがが新しい


SmartSynchronize - File/Directory Compare


|

[AppleScripts]iPhoneアプリ用に最適化されたPNGフォーマット“CgBI” iOS formatのPNGファイルを閲覧可能な形式に戻す

ちょろっとiPhoneApp用の画像を見たい時用

Pngcrush


こんな画像を

Pngcrush2


見えるようにします。

Pngcrush3


アプリケーション形式のスクリプトに
pngcrushを内包させています。
Pngcrush4


スクリプトで言うと
↓この部分(10.6以外で動くか?はわかりません笑)

Pngcrush5

↑なぜこの処理が必要か?と言うと
本家Pngcrushのソースをコンパイルして
インストールしていると画像を元に戻す「-revert-iphone-optimizations」のオプションが無いからです。

1:ファイルを選んで(ドロップでも動きます)
2:デスクトップに書き出し先の『PngcrushExport』フォルダを作ります。
3:受け取ったファイルを順番に処理します
4:処理はpngcrush -revert-iphone-optimizations -d ディレクトリ 変換するファイル
5:全て終わったら出来たファイルを見せる

(*
iPhoneアプリ用に最適化されたPNGフォーマット
“CgBI” iOS format
CgBIフォーマットのPNGファイルを通常閲覧可能な形式に戻します
*)

-----------実行のはじまり
on run
-----------------【設定項目】ファイル選択ダイアログのデフォルトのディレクトリ
set theDefLoc to path to desktop from user domain
-----------------【設定項目】Uniform Type Identifier指定
-----------------詳しくは http://goo.gl/6jAQa Uniform Type Identifierを見てください
---set theFileType to "public.png,com.adobe.png" as text
---簡素の記述も出来ますPNGの場合-
set theFileType to "PNG" as text

-----------------のファイルタイプをリスト形式に整形する
set AppleScript's text item delimiters to {","}
set theFileTypeList to every text item of theFileType
-----------------【設定項目】プロンプトの文言改行が使えます\nを入れます
-----------------Uniform Type Identifierとメッセージ
set theWithPrompt to theFileType & "\nファイルをえらんでください\n"
-----------------残りのメッセージ
set theWithPromptMes to "ファイルをドロップしても\n動作します"
-----------------ダイアログを出して選択されたファイルは「open」に渡す
open (choose file default location theDefLoc ¬
with prompt theWithPrompt & theWithPromptMes ¬
of type theFileTypeList ¬
invisibles true ¬
with multiple selections allowed without showing package contents)
end run


------オープン(又はロドップ)のはじまり
on open theDropObj
-----------------【設定項目】フォルダを作成するディレクトリ
set theDeskTopPath to the path to desktop from user domain
-----------------【設定項目】かき出される画像の保存ディレクトリ名
set theExportFiles to "PngcrushExport" as text
-----------------フォルダを作成する(デスクトップにPngcrushExportフォルダを作成)
try
tell application "Finder"
make new folder at (theDeskTopPath) with properties ¬
{name:theExportFiles ¬
, owner privileges:read write ¬
, group privileges:read write ¬
, everyones privileges:read write ¬
}
end tell
end try
----------------出来たフォルダのパスをテキスト形式で取得しておく
set theSaveDir to (POSIX path of theDeskTopPath) & theExportFiles as text
----------------ドロップ実行か?スクリプトエディタで実行しているか?判定
----------------実行したアプリケーションのパスを求めて
set theMyPath to path to current application as string
----------------AppleScriptの文字が含まれているか?を調べる
if theMyPath contains "AppleScript" then
tell application "AppleScript Editor"
tell document 1
set theMyPath to path as text
end tell
end tell
----------------AppleScript Editorで開いている書類のパスにしておく
set theMyPath to (POSIX file theMyPath as text) & ":" as text
end if
---------------実行機器にインストール済みのpngcrushを使うか?判定
try
----------Developerディレクトリにpngcrushがある場合はDeveloperの方を使う
set thePngcrushPosPath to do shell script "mdfind -name pngcrush | grep \"Developer\""
on error
----------------内蔵のpngcrush10.6x用)のパスにします
set thePngcrushPath to theMyPath & "Contents:bin:pngcrush" as text
----------------UNIXパスに整形
set thePngcrushPosPath to POSIX path of thePngcrushPath
end try

----------------コマンドラインを整形
set thePngcrushComLine to thePngcrushPosPath & " -revert-iphone-optimizations -d " & theSaveDir as text

----------------繰り返しのはじまり
repeat with theObjFiles in theDropObj

----------------ファイルのエイリアスをテキストに変換
set theFilePath to (POSIX path of theObjFiles) as text
----------------コマンドを実行
do shell script thePngcrushComLine & " " & quoted form of theFilePath
end repeat

---------処理が終わったら書き出し先のフォルダを開く
set theDefLoc to (POSIX file theSaveDir) as text
tell application "Finder"
activate
open theDefLoc as alias
tell window 1
set current view to icon view
end tell
end tell


end open


「pngcrush.rtf」をダウンロード

「pngcrush.zip」をダウンロード

今回のワンポイントは
ドロップレット形式のスクリプトを
スクリプトエディタで開いて実行してもエラーにならいようにした
(ログ見ながら作成するのにとても便利)

Website_image20130406_160354


|

[okwave]Applescriptでファイル名の一部を置換


Applescriptでファイル名の一部を置換 | MacintoshのQ&A【OKWave】


を作ってみます。

ポイントは
『数字の部分』の処理ですね。
後は文字を置き換えれば良いのでさほど難しくない。

ちょっと考えて
こんな風に考えてみました。


Website_image20130404_04717


on run
------------------------------------------------【設定項目】ファイル選択ダイアログのデフォルトのディレクトリ
set theDefLoc to path to desktop from user domain
------------------------------------------------【設定項目】Uniform Type Identifier指定
------------------------------------------------詳しくは http://goo.gl/6jAQa Uniform Type Identifierを見てください
set theFileType to "public.pdf,com.adobe.pdf" as text
---簡素の記述も出来ますPDFの場合---set theFileType to "PDF" as text
---ムービーファイルの場合---set theFileType to "public.movie,com.adobe.flash-video" as text
------------------------------------------------のファイルタイプをリスト形式に整形する
set AppleScript's text item delimiters to {","}
set theFileTypeList to every text item of theFileType
------------------------------------------------【設定項目】プロンプトの文言改行が使えます\nを入れます
------------------------------------------------Uniform Type Identifierとメッセージ
set theWithPrompt to theFileType & "\nファイルをえらんでください\n"
------------------------------------------------残りのメッセージ
set theWithPromptMes to "ファイルをドロップしても\n動作します"
------------------------------------------------ダイアログを出して選択されたファイルは「open」に渡す
open (choose file default location theDefLoc ¬
with prompt theWithPrompt & theWithPromptMes ¬
of type theFileTypeList ¬
invisibles true ¬
with multiple selections allowed without showing package contents)
end run


on open theDropObj
-----繰り返しのはじまり
repeat with theObjFiles in theDropObj

----ファイルインフォを取得
set theInfoChooseFile to info for theObjFiles
----拡張子を取得
set theExtension to name extension of theInfoChooseFile
----ファイル名を取得
set theFileName to name of theInfoChooseFile
----ファイルのエイリアスをテキストに変換
set theFilePath to (theObjFiles as alias) as text

----ファイル名の文字数を数える
set theCntFileName to the length of characters of theFileName as number
----パスの文字数を数える
set theCntFilePath to the length of characters of theFilePath as number
----パスの文字数 ー ファイル名でディレクトリ名の文字数を計算する
set theCntDirPath to theCntFilePath - theCntFileName as number
----ファイルのディレクトリ名を定義する
set theDirName to characters 1 thru theCntDirPath of (theFilePath as text)
set theDirName to my ReplaceText(theDirName, ",", "") as alias

--------ファイル名から必要部分を抜き出し
set theMainFileName to do shell script "echo " & theFileName & " | awk -F\"[\" '{print($1)}'"
set theAfterFileName to do shell script "echo " & theFileName & " | awk -F\"[\" '{print($2)}'"
--------不要な文字を削除する
set theAfterFileName to my ReplaceText(theAfterFileName, "[", "")
set theAfterFileName to my ReplaceText(theAfterFileName, "]", "")
set theAfterFileName to my ReplaceText(theAfterFileName, "-", "")
set theAfterFileName to my ReplaceText(theAfterFileName, ".", "")
------出来た文字を数字にしておく
set theFileNumber to my ReplaceText(theAfterFileName, theExtension, "") as number


----桁数によって連番を取得する
if theFileNumber < 100 then
set theFileNumber to character 1 of (theFileNumber as text) as text
set theFileNumber to my ReplaceText(theFileNumber, ",", "") as number
set theFileNumber to my ZeroSuppress(theFileNumber) as text
else if theFileNumber < 10000 then
set theFileNumber to characters 1 thru 2 of (theFileNumber as text) as text
set theFileNumber to my ReplaceText(theFileNumber, ",", "") as number
set theFileNumber to my ZeroSuppress(theFileNumber) as text
else
set theFileNumber to characters 1 thru 3 of (theFileNumber as text) as text
set theFileNumber to my ReplaceText(theFileNumber, ",", "") as number
set theFileNumber to my ZeroSuppress(theFileNumber) as text
end if
----新しいファイル名を作成
set theNewFileName to theMainFileName & "P" & theFileNumber & "." & theExtension


----ファイル名を変更する
tell application "Finder"
set name of file theFileName of folder theDirName to theNewFileName
end tell
end repeat
end open








----文字の置き換えサブルーチン
to ReplaceText(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 ReplaceText


----ゼロサプレスのサブルーチン
to ZeroSuppress(n)
if n < 10 then
return "00" & n
else if n < 100 then
return "0" & n
else
return n as text
end if
end ZeroSuppress


「q8024033.rtf」をダウンロード


「q8024033.zip」をダウンロード

|

« 2013年3月 | トップページ | 2013年5月 »