ImageFilter
ImageFilter のクラスライブラリとそのソ−スファイルがあります。
説明 /
ヒストリー /
ダウンロード /
使い方 /
ソースファイル /
デモ /
戻る
使い方
- どの ImageFilter もコンストラクタの引数を使って ImageFilter を制御します。
メソッドは使いません。
-
- 一般的な ImageFilter と使い方は同じです。
使いたい ImageFilter を filter、
変換元 Image を source、変換先 Image を destination、
コンポーネントを component としたとき、
- destination=component.createImage(new
FilteredImageSource(source.getSource(),filter));
として使います。
-
- 例えば、コンポーネントのサブクラス中で
WaveImageFilter を波長 32、振幅 8、位相を 0.0 で使う時は
- import net.antun.lib.awt.image.*;
-
- destination=this.createImage(new
FilteredImageSource(source.getSource(),new
WaveImageFilter(32,8,0.0)));
とします。
-
- 各 ImageFilter の処理内容と
コンストラクタの引数の指定方法について書きます。
パッケージ名は net.antun.lib.awt.image.*ImageFilter
ですが、長いのでこの説明では lib.awt.image.*ImageFilter と表記しています。
-
-
lib.awt.image.NaltImageFilter(double amplitude)
- まるでなるとのように画像を渦巻かせます。
amplitude でその程度を指定します。
amplitude=0.0 で原画像と同じになります。
(例)
-
-
lib.awt.image.MingleImageFilter(Image image,double rate,int x,int y)
- 原画像の上に画像 image を半透明に重ねあわせます。
重ねあわせる場所を (x,y) で、
原画像と画像 image との混合比率を rate で指定します。
rate は 0.0〜1.0 の間で指定しますが、
0.0 ではもとの画像と同じになります。
画像 image は確定していないと使えないことと、
メモリ消費量が多いので注意してください。
-
-
lib.awt.image.AdditionImageFilter(Image image,int x,int y)
- 原画像の上に画像 image を加算重ねあわせします。
重ねあわせる場所を (x,y) で指定します。
光の画像を重ねるのに使ったりします。
画像 image は確定していないと使えないことと、
メモリ消費量が多いので注意してください。
(例)
-
-
lib.awt.image.WaveImageFilter(int waveLength,int amplitude,double phase)
- 画像を波立たせます。
その波 (正弦波、sin 波) の
波長 を waveLength で、
振幅 を amplitude で、
位相角 を phase で指定します。
(例)
-
-
lib.awt.image.SideWaveImageFilter(int waveLength,int amplitude,double phase)
- 画像を横方向に波立たせる WaveImageFilter の横波版です。
いわゆるラスタ変換です。
同じように波 (正弦波、sin 波)
波長 を waveLength で、
振幅 を amplitude で、
位相角 を phase で指定します。
-
-
lib.awt.image.TransformationImageFilter(int
px0,int py0,int px1,int py1,int px2,int py2,int px3,int py3)
- 画像を 4 頂点を指定した四角形に変形します。
変換前の左上の頂点の変形後の座標を (px0,py0)、
右上の頂点の変形後の座標を (px1,py1)、
左下の頂点の変形後の座標を (px2,py2)、
右下の頂点の変形後の座標を (px3,py3) で指定します。
(例)
-
-
lib.awt.image.MosaicImageFilter(int size)
- モザイク化します。
モザイクの大きさを size で指定します。
-
-
lib.awt.image.RotateImageFilter(double angle)
- 画像を回転させます。
角度は angle にラジアンで指定します。
変換後の画像は変換前とは回転で飛び出した分
大きさが違う点に注意してください。
The Java Tutorial の RotateImageFilter を参考にして書きました。
-
-
lib.awt.image.ObscureImageFilter(int range)
- ぼかします。
range を増やすことでぼかし具合を調節してください。
-
-
lib.awt.image.EmphasisImageFilter(double strength)
- エッジを強調します。strength でその強さを指定します。
-
-
lib.awt.image.MirrorImageFilter()
- 左右反転します。
-
-
lib.awt.image.FlipImageFilter()
- 上下反転します。
-
-
lib.awt.image.MonochromeImageFilter()
- モノクロにします。
-
-
lib.awt.image.AlphaImageFilter(int alpha)
- 画像全体のα値 (透明度) を alpha にします。
alpha は 0〜255 の間で指定してください。
例えば、alpha=128 とすると半透明になります。
-
-
lib.awt.image.AlphaImageFilter()
- 画像全体を透明化して透明画像を作る時に使います。
AlphaImageFilter(0) とした時と同じです。
元の画像の絵は無くなります。
-
-
lib.awt.image.ComplementaryImageFilter()
- 画像を補色化 (反転) します。
白<->黒に、青<->黄色に、赤<->水色に、緑<->紫になります。
-
-
lib.awt.image.BrightImageFilter(int delta)
- 原画像全体を delta だけ明るくします。
delta が負の値なら delta だけ暗くなります。
-
-
lib.awt.image.BrightImageFilter(int deltaR,int deltaG,int deltaB)
- 原画像全体を明るくします。
光の 3 原色の各成分ごとに明るさの増分を指定します。
負の値を指定すれば暗くも出来ます。
例えば、new BrightImageFilter(0,0,64) とすれば画像を青っぽくします。
-
-
lib.awt.image.GougeImageFilter(Color color)
- 指定色 color を透明化します。
-
-
lib.awt.image.LightImageFilter(int type,int brightness,int x,int y)
- 画像の座標 (x,y) に明るさ brightness の明かりを灯します。
光の種類を type に指定します。
光の種類は LightImageFilter.DEFAULT,
LightImageFilter.CIRCLE,LightImageFilter.SPHERE があります。
あまりきれいではないので自分で光の画像を用意して
AdditionImageFilter
を使うことをお勧めします。
-
-
lib.awt.image.IdentityImageFilter()
- 恒等変換、つまり何もしない ImageFilter です。
new ImageFilter() と new IdentityImageFilter() は同じなので
この ImageFilter はほとんど意味ないです。
あまり使いませんね。
-
-
lib.awt.image.SinglepassImageFilter
- この ImageFilter は
EmphasisImageFilter,WaveImageFilter,
SideWaveImageFilter,RotateImageFilter,ObscureImageFilter,
NaltImageFilter,MosaicImageFilter
のスーパークラスです。
単独では使用しません。
戻る