GyazoIM

Windows のタスクトレイに常駐(起動しっぱなしで待機)して、画面のスクリーンショットを撮って gyazo.com にアップロード(またはローカルで開くだけ)するツールです。素の Gyazo クライアント(当時の gyazowin)に、キーボードショートカットとウィンドウ単位の撮影、それに作り込んだ範囲選択オーバーレイ(画面に重ねて表示する層)を足したもの。

範囲選択のデモ

選択 UI は、先に単体のプロトタイプとして作ってから GyazoIM に組み込みました。そのプロトタイプ(kimoto/selector)を動かしたときの動画がこれです。全画面に半透明のオーバーレイを敷いて、ドラッグした範囲をリアルタイムにサイズ表示しています。

3つの撮り方

範囲選択中のキー操作

操作効果
ドラッグ範囲を選ぶ(カーソル脇に幅×高さを表示)
Ctrl正方形にロック(縦を横に合わせる)
Shiftウィンドウの端にスナップ(50px 以内で吸着)
右ドラッグ選んだ範囲を、サイズを変えずに移動
マウスホイール範囲を四方に均等に拡大・縮小
何かキーキャンセル

範囲を離すと、10×10 より大きければビープを鳴らして撮影します。

アップロードと画像処理

出力先はタスクトレイの右クリックメニューで切り替えます。gyazo.com にアップロードすると、返ってきた URL をクリップボードにコピーしてブラウザで開きます(upload.cgi への multipart POST。認証や SSL もオプションで対応)。もう一方のローカルプレビューは、撮った PNG をそのまま開くだけ。画像は BitBlt で取り込み、最終的には ImageMagick で減色してから保存していました。

名前について

「IM」は、当時の PeerCast クライアント「PeerCastIM」の名前にならったもので、「ちょっと手を加えた版」というくらいの意味です(ただし中身は 1 から書いています)。当時のサイトには「完成しているけれどバグ取りが面倒で放置中」とも書いていて、配布は GitHub のソースのみ、コンパイル済みの実行ファイルは配っていませんでした。