2012-02-12 5 views
1

私は基本的に時間がたつにつれて画像を表示するようにしています(時間などの設定があります)ピクセル単位でイメージを表示するように設定する方法がわからず、高さが増します。別名、あなたは表示されていない画像から始め、時間の経過と共に、画像のより多くを明らかにする(上に行く)、最後に最後に画像を明らかにする。Javaのフェードトランジションで画像を「読み込む」または「表示する」

Javaの移行のようです。

私は年齢を問わず、少なくとも3時間どこでもGoogle検索しています。

がここにベースとしての私のイメージですが、どこに行くことができません:のようなイメージのロードが遅いインターネット接続を介して、私は、あなたがカーテン効果のいくつかの並べ替えをしたいと仮定してい

BufferedImage img = null, img2 = null; 
try { 
    img = ImageIO.read(new File("9278.png")); 
    img2 = ImageIO.read(new File("9279.png")); 
} catch (IOException e) { 
    e.printStacktrace(); 
} 

g.drawImage(img, 0, 0, null); 
g.drawImage(img2, 0, 0, null); 

おかげ

+0

1) 'e.printStackTrace()'をcatchに入れてください。 2)イメージオブザーバに 'null'の代わりに' this'を使います。 3)「フェード」は、その効果の間違った言葉です。私は公式の名前が何であるか分からないが、Dervallは「カーテン効果」に近いだろう。 –

答えて

2

を。私はこのようにアプローチします:

Graphics2DオブジェクトのsetClipメソッドを使用します。イメージを描画するサイズの新しいRectangleを作成し、それをグラフィックのsetClipに渡します。これにより、画像の描画は、矩形で指定された領域内でのみ実行されます。あなたが直接、スイング中に組み込まれていない代を望むよう

+0

速い返答をありがとう。私はそれを見上げるでしょう、あなたが私の仕事の中でsetClipを動かすのを助けるでしょうか? – insidesin

+0

['setClip(x、y、w、h)']を参照してください(http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#setClip%28int,%20int 、%20int、%20int%29)または['setClip(shape)'](http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#setClip%28java.awt .Shape%29)。また、 'Graphics'クラスのメソッドであり、' Graphics2D'クラス(継承)でも利用できます。 –

+0

神! 私はそれがいかに簡単か分かりませんでした!塗料が描かれるときの高さを上げるだけです。 – insidesin

1

は、それは簡単な問題ではありません、ここで私は同じことを行うために使用the exampleだ、

あなたはおそらくそれを適応させる必要があるが、それはあなたが

必要なものの良い例です
+0

私はすべてのフェージングオプションを通過しました、彼らは私の意見で行く方法ではありません。 – insidesin

+0

これは私のための仕事です、悪いことにあなたを助けることができませんでした。 – Kiwy

+0

それは働いた、私はそれが全体としてではなく、カーテンとして消えてしまいたい。 – insidesin

関連する問題