Swing/AnimatedGif のバックアップの現在との差分(No.3)
TITLE:Animated GIFでのコマ描画時処理
Posted by terai at 2007-05-14
Animated GIFでのコマ描画時処理
JLabelなどで使用できるAnimated GIFファイルをテストします。- category: swing folder: AnimatedGif title: Animated GIFでのコマ描画時処理 tags: [JLabel, Animation, AnimatedGif] author: aterai pubdate: 2007-05-14T19:32:29+09:00 description: JLabelなどで使用できるAnimated GIFファイルをテストします。 image:
概要
JLabel
などで使用できるAnimated GIF
ファイルをテストします。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
#screenshot
サンプルコード
#spanend
#spanadd
JLabel label1 = new JLabel(
#spanend
"何もしない",
new ImageIcon(getClass().getResource("no_disposal_specified.gif")),
SwingConstants.LEFT);
#spandel
**サンプルコード [#z30a391c]
#spanend
#spandel
#code{{
#spanend
#spandel
JLabel label1 = new JLabel("何もしない ",
#spanend
new ImageIcon(getClass().getResource("no_disposal_specified.gif")),
JLabel.LEFT);
#spandel
JLabel label2 = new JLabel("そのまま残す ",
#spanend
new ImageIcon(getClass().getResource("do_not_dispose.gif")),
JLabel.LEFT);
#spandel
JLabel label3 = new JLabel("背景色でつぶす ",
#spanend
new ImageIcon(getClass().getResource("restore_to_background_color.gif")),
JLabel.LEFT);
#spandel
JLabel label4 = new JLabel("直前の画像に戻す",
#spanend
new ImageIcon(getClass().getResource("restore_to_previous.gif")),
JLabel.LEFT);
#spanadd
JLabel label2 = new JLabel(
#spanend
"そのまま残す",
new ImageIcon(getClass().getResource("do_not_dispose.gif")),
SwingConstants.LEFT);
#spanadd
#spanend
#spanadd
JLabel label3 = new JLabel(
#spanend
"背景色で塗りつぶす",
new ImageIcon(getClass().getResource("restore_to_background_color.gif")),
SwingConstants.LEFT);
#spanadd
#spanend
#spanadd
JLabel label4 = new JLabel(
#spanend
"直前の画像に戻す",
new ImageIcon(getClass().getResource("restore_to_previous.gif")),
SwingConstants.LEFT);
View in GitHub: Java, Kotlin解説
Animated GIFで、次のコマを描画する時、直前の画像を異なる方法で消去するAnimated GIFファイルを作成し、これらをJLabelに貼り付けてアニメーションをテストしています。上記のように透過色を使用する場合、Swingでは、3番目の「背景色でつぶす」にしておかないと残像が出てしまうようです。解説
Animated GIF
で、次のコマを描画する時、直前の画像を異なる方法で消去するAnimated GIF
ファイルを作成し、これらをJLabel
に貼り付けてアニメーションをテストしています。上記のように透過色を使用する場合、Swing
では3
番目の「背景色で塗りつぶす」にしておかないと残像が出てしまうようです。
- 何もしない
- No disposal specified. The decoder is not required to take any action.
- そのまま残す
- Do not dispose. The graphic is to be left in place.
- 背景色でつぶす
- Restore to background color. The area used by the graphic must be restored to the background color.
- 直前の画像に戻す
- Restore to previous. The decoder is required to restore the area overwritten by the graphic with what was there prior to rendering the graphic.
- 何もしない
No disposal specified. The decoder is not required to take any action.
参考リンク
- Cover Sheet for the GIF89a Specification
- 23. Graphic Control Extension. の、iv) Disposal Method から説明を引用しています。
- Giam ダウンロードのページ
- Giamを使って、各Animated GIFを生成しています。
- そのまま残す
Do not dispose. The graphic is to be left in place.
コメント
- Swing のバージョンを入れておいてもらえますか?現バージョンでも背景色でつぶすにしないと残像が残るんでしょうか? -- とおりすがり?
- 背景色で塗りつぶす
Restore to background color. The area used by the graphic must be restored to the background color.
- 直前の画像に戻す
Restore to previous. The decoder is required to restore the area overwritten by the graphic with what was there prior to rendering the graphic.
参考リンク
- Cover Sheet for the GIF89a Specification
-
23. Graphic Control Extension.
のiv) Disposal Method
から説明を引用
-