久しぶりに更新。
っていっても3日しかたってないか^^;

追加点
・設定ファイルで前回の位置や、設定を自動保存。
適当にページ設定・印刷追加。印刷のdpiとか設定できない。
・露光量のアルゴリズムをほんのちょっとだけ修正。
・マクロに、大正写真・色やけ・グロー・ドロップシャドウ追加。
・背景にチェック追加。
・大域平均値フィルタとメディアンフィルタに、他と同じように強度プロパティ追加。
・メニューバーの表示/非表示追加。(非表示時はコンテキストメニューが使用可能になる)
・jpeg保存時にアルファチャンネル含めるか含めないか選択できるようにした。
(Javaで作られたソフトならアルファチャンネル付きJpeg読み込めます)

大正写真・色やけ・グローはHSPのipmpackからそのままとってきました。
拡散は簡単なんだけど、ストロークは難しそう。でもこの2つは追加しないとまずいよなあ。

そういえば、Javaで作られた画像処理。っていってもドローツールなんだけど、
かなりすごい。JDrafterっていうソフト。
ジャンル全然違うけど、Javaで作ってるっていう点で同じなので、勝手ながら親近感が。

試したところ、アルファチャンネルをもつpngとかクリップボードを通して
オレンジビューアと交換できるから、色々と嬉しい。
(今までアルファチャンネルを保持したままコピペ移動できるの、自分自身しかなかったし。)

ドロップシャドウ(アルファチャンネルとしてちゃんと透過してるよ^^)

素材はcoさまの「ポケットサイズ」より。


完成した画像処理のツールは、こちらから試すことが出来ます。

関連記事

  • ビューア開発 – バイラテラルフィルタ追加しましたビューア開発 – バイラテラルフィルタ追加しました 前々から追加追加しようと思って、初めて作ってみた。 日本語の資料がtpotさんのバイラテラルフィルタしかなくて、勉強するのが大変でした。 海外のサイトはもっとよくわかんない謎の式だらけ。 要約すると、バイラテラルフィルタってのは、注目画素の輝度と、フィルタ処理する時の近傍画素の輝度の差(距離)を マイナスの係数をかけて、指数関数の中れたもの を A […] Posted in ツール制作
  • Javaで3Dゲーム開発日記 part5 画像補間Javaで3Dゲーム開発日記 part5 画像補間 以前の続きでテクスチャのパーリンノイズの補間法の話です。 いい加減補間について調べようといろいろとプログラムして作ってみました。 テクスチャなので、上下と左右が繋がるように補間します。 8x8px → 256x256px […] Posted in ゲーム制作
  • Java – ImageIOの画像出力とColorModelとの関係Java – ImageIOの画像出力とColorModelとの関係 画像ビューアを開発しているのですが、 画像処理した後にJpegとして保存すると赤っぽくなっていた原因が分かった。 Javaのせいにしてたけど、完全なミスでした。^^; Java6でImageIOを使ってjpeg,gif,png,bmpと保存できるようになったけど、注意点が必要。 元ソースが「TYPE_INT_ARGB」の場合の話です。 png […] Posted in プログラミング
  • Bresenhamアルゴリズムで線分の計算は早いのかなBresenhamアルゴリズムで線分の計算は早いのかな 以前、直線を描くのにこんなのを作った。 特に工夫点もない、素直な方法である。 #module "linem" #deffunc line2 int line_x1,int line_y1,int line_x2,int line_y2 line_xabs = abs(line_x1-line_x2) line_yabs = […] Posted in アルゴリズム
  • SMFプレイヤーをつくろう!リベンジ「セットテンポと分解能」SMFプレイヤーをつくろう!リベンジ「セットテンポと分解能」 以前(2007/4/30)、HSPでMCI(Media Control Interface)を利用せずに SMF(スタンダードMIDIファイル .mid)を再生するためのモジュールを作ってSMFプレーヤーを作りました。(ここ) しかし実はこれには色々と問題が山積みになっていたりする。 1. なんかメタイベント,SysExイベントが正常に送れていないっぽい? 2. […] Posted in ツール制作
  • 「BufferedImage」の TYPE_4BYTE_ABGR から TYPE_INT_ARGB にする方法「BufferedImage」の TYPE_4BYTE_ABGR から TYPE_INT_ARGB にする方法 Java の BufferedImage は getType() を使うことでタイプを知ることが出来ます。 byte型でABGRの順に記録されている場合は、BufferedImage.TYPE_4BYTE_ABGR int型でARGBが記録されている場合は、BufferedImage.TYPE_INT_ARGB になります。 TYPE_4BYTE_ABGR […] Posted in プログラミング