« iPhoneアプリ不要 iPhone/iPod touchからブラウザ経由でマウスをエミュレートする「Ajax Mouse」 | メイン | Jyazoの残作業 »

JavaによるGyazoクローン「Jyazo」

GyazoクローンをJavaで作成しました。
名前はJyazoとしました。
ソースとjarファイルはGithubに公開しています。
Gyazoとの違い
Javaによる実装のため、Mac OS X,Windows,Linux問わず動作するはずですが、開発環境がMacのため他の環境は試せていません。
GyazoはMacのscreencaptureコマンドを使っているため、キャプチャの範囲を選択した後にキャプチャされますが、Jyazoは全画面をキャプチャした後に範囲を選択し、選択範囲を切り抜いています。これは、リアルタイムで処理するのは遅すぎるためです。
マルチディスプレイ環境には未対応です。プライマリディスプレイのみキャプチャするようになっています。
Gyazoが内部的に持っているIDをJyazo独自のものにしています。
IDについて
上記の通り、IDはJyazo独自のものを設定しています。
Gyazoのページには、アップロードファイルの一覧を表示する方法が書かれていますが、多分この機能にIDが使われていると思います。
しかし、これまでこの機能に気付いておらず、Jyazo独自のものを実装していました。
Jyazoの開発終盤にこの機能に気付き、Gyazoで一覧表示を試して見ました。
しかしうまく動作していないようです。
このため、現時点ではJyazo独自のIDを採用したままになっています。
実行環境
Javaのバージョンは1.6以降です。これは、Java1.6から導入されたDesktopオブジェクトを使っているためです。
Gyazoクローンを作成しようとしている方へ
Gyazoの配布パッケージ内には、Gyazoサーバのソースも含まれています。
画像送信のテストを行なうときは、自分の環境にサーバを立てて行なうようにしましょう。
私は最初これに気付かずに、変なデータをGyazoサーバに多数送ってしまいました...。
増井さん、すいませんでした。
やり残し
Windowsの実行形式であるexeファイルの作成。何故か手元の環境でMavenのlaunch4jプラグインが正常に動作しないため保留。
Mac OS Xの実行形式であるappファイルの作成。作成方法はわかっているが、毎回作成するのは面倒なためMavenプラグインで実現したい。なければ作成せざるを得ないかも。
配布パッケージの作成の自動化。Mavenのassemblyプラグインで作成しようとしても、関係のないファイルまで同梱されてしまう。
マルチディスプレイ対応。手元の環境がマルチディスプレイでないため開発できない。awtのfullscreenは個別のディスプレイに対してのみ行なうはずなので、モニタが複数あるときはキャプチャするモニタを選択後に、キャプチャ範囲を選択する仕様になるはず。

トラックバック

このエントリーのトラックバックURL:
http://www.kanasansoft.com/cgi/mt/mt-tb.cgi/259

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド