プログラマメモ2 - programmer no memo2

java イルージョン webstartで作成してみました。- ちょっと怖い。 2007/08/02



Christopher Walken Illusion - Mighty Optical Illusions
上記のサイトでおもしろいアニメーションGIFがありました。
このアニメーションGIFは4枚のGIFで構成されていまして、おもしろい効果をだしています。
そこで、プログラムで表現できないかなと考えました、



ベースになる、宇宙の写真はここから。

HubbleSite - NewsCenter - Hubble Photographs Grand Design Spiral Galaxy M81 (05/28/2007) - Release Images


どうやって表現しますかといいますと、
まず、上記の宇宙の写真をグレースケールに変換します。表示します(a-1)。そして動いた感じをだすために、少しずらして表示します(a-2)。そしてその白黒写真を反転(invert)します(b-1)。そしてこの反転した画像をずらして表示します(b-2)。
この四枚を繰り返して表示して効果を真似てみました。


作成したアプリケーションは下記のような感じです。java webstartにしてみました。


起動は下記のボタンから。


起動時に画像処理を行っているのでちょっと起動にもたつきがありますが...
画像処理は、

Jerry's Java Image Processing Pages

を使用しています。いろいろフィルターが用意されいるので使いやすいです。

コードは下記の感じです。


BufferedImage image = ImageIO.read(ImagePanel.class.getResource("g.jpg"));
GrayscaleFilter filter = new GrayscaleFilter();
dst = filter.filter(image, null);
invert = new InvertFilter().filter(dst, null);
BufferedImage image2 = ImageIO.read(ImagePanel.class.getResource("man.png"));
man = filter.filter(image2, null);
man_invert = new InvertFilter().filter(man, null);

:

匿名

コメントテスト