iOS用のzipライブラリの使い方を漁ってたら、[Mac][iOS]ZipArchive ファイルの圧縮と解凍|Cocoa練習帳 に出会って、そこでDropletsという言葉を知った。
アイコンにファイルをドラッグドロップして起動できる簡単なツールを指す言葉のようだ。
(元々はAppleScriptとかをラップしたものをそう呼んでらしい)
これいいな。
こういう小規模なアプリならブックマークレット感覚でどんどん作れそう。
ところで皆さん、iOSのアプリを作ってる時とか、画像の元サイズを知りたい時結構ありませんか?
僕はとてもあります。
デザイナさんに聞けば早いのですが、僕ら引きこもりは他人と喋るのに結構なエネルギーを消費します。
機械が知っていることはできれば機械に教えて欲しい。
Finderには元々サイズ表示機能があるのですが、僕の環境ではPNGファイルはなぜかうまく働かないことが多いのです。きっとFireworksがPNGを拡張なんかするからだ。そうに違いない。
というわけでそれだけのアプリ作りました。
ImageDrop
こんな感じです。
Targetを10.6にしたので、おそらくSnow Leopardでも動くんではないかと思います。
ソースコードはGithubに上げてます。
tnantoka/ImageDrop
ちなみに作成手順は以下の通りです。超簡単。
もっとここ詳しく説明して欲しいとかあればどうぞ。
- Core DataとかDocument Basedとか、全部チェック外してプロジェクト作成。
- Project InfoのDocument typesから、jpg, pngを追加する。
(これでアイコンへのドラッグ&ドロップがハンドリングできる。)
- Interface Builderで、ImageWell、Label、Wrapping Labelを足して、Outlet接続。
- Windowはリサイズ禁止、Label達はBehaviorをselectableに設定。
- AppDelegateの「application:openFile:」にアイコンドラッグドロップ時の処理を記述。
- ImageWellへのドラッグドロップも追加したいのでActionを設定。
(中にあるImageCellにActionを指定すると落ちるので注意)
- 「applicationShouldHandleReopen:hasVisibleWindows:」でウィンドウ再表示の処理もしとく。
画像サイズの取得は、My First iMac: 画像サイズの取得: NSImageのサイズがおかしい を参考にしました。
NSImageのsizeは解像度を考慮しているため、単純にピクセルを返してくれないようです。
いやぁ、それにしてもMacアプリは作成も配布も手軽でいいですね。
iPhoneアプリの審査待ちフラストレーションの解消にちょうどいいです。
あとはアドネットワークさえ充実すればなぁ。
最近のコメント