GyazoIM
Windows のタスクトレイに常駐(起動しっぱなしで待機)して、画面のスクリーンショットを撮って gyazo.com にアップロード(またはローカルで開くだけ)するツールです。素の Gyazo クライアント(当時の gyazowin)に、キーボードショートカットとウィンドウ単位の撮影、それに作り込んだ範囲選択オーバーレイ(画面に重ねて表示する層)を足したもの。
範囲選択のデモ
選択 UI は、先に単体のプロトタイプとして作ってから GyazoIM に組み込みました。そのプロトタイプ(kimoto/selector)を動かしたときの動画がこれです。全画面に半透明のオーバーレイを敷いて、ドラッグした範囲をリアルタイムにサイズ表示しています。
3つの撮り方
- 範囲選択 — 全モニタにまたがる透明オーバーレイを出してドラッグで範囲を決める。下の一覧のキー操作で、正方形ロック・ウィンドウ端へのスナップ・範囲ごと移動・ホイールでの拡縮ができる
- ウィンドウ単位(インスペクト) — カーソルの下にあるウィンドウをハイライトし、クリックでそのウィンドウ全体を自動で範囲取りして撮る
- ホットキー — グローバルホットキーで即撮影。既定は F9 でアクティブウィンドウ、Ctrl+F9 でデスクトップ全体。設定ダイアログで変更でき、
config.iniに保存される
範囲選択中のキー操作
| 操作 | 効果 |
|---|---|
| ドラッグ | 範囲を選ぶ(カーソル脇に幅×高さを表示) |
| Ctrl | 正方形にロック(縦を横に合わせる) |
| Shift | ウィンドウの端にスナップ(50px 以内で吸着) |
| 右ドラッグ | 選んだ範囲を、サイズを変えずに移動 |
| マウスホイール | 範囲を四方に均等に拡大・縮小 |
| 何かキー | キャンセル |
範囲を離すと、10×10 より大きければビープを鳴らして撮影します。
アップロードと画像処理
出力先はタスクトレイの右クリックメニューで切り替えます。gyazo.com にアップロードすると、返ってきた URL をクリップボードにコピーしてブラウザで開きます(upload.cgi への multipart POST。認証や SSL もオプションで対応)。もう一方のローカルプレビューは、撮った PNG をそのまま開くだけ。画像は BitBlt で取り込み、最終的には ImageMagick で減色してから保存していました。
名前について
「IM」は、当時の PeerCast クライアント「PeerCastIM」の名前にならったもので、「ちょっと手を加えた版」というくらいの意味です(ただし中身は 1 から書いています)。当時のサイトには「完成しているけれどバグ取りが面倒で放置中」とも書いていて、配布は GitHub のソースのみ、コンパイル済みの実行ファイルは配っていませんでした。