Swing/AnimatedGif のバックアップの現在との差分(No.10)
- category: swing folder: AnimatedGif title: Animated GIFでのコマ描画時処理 tags: [JLabel, Animation] tags: [JLabel, Animation, AnimatedGif] author: aterai pubdate: 2007-05-14T19:32:29+09:00 description: JLabelなどで使用できるAnimated GIFファイルをテストします。 image:
概要
JLabel
などで使用できるAnimated GIF
ファイルをテストします。
Screenshot
Advertisement
サンプルコード
#spandel
JLabel label1 = new JLabel("何もしない",
#spanend
new ImageIcon(getClass().getResource("no_disposal_specified.gif")),
SwingConstants.LEFT);
#spandel
JLabel label2 = new JLabel("そのまま残す",
#spanend
new ImageIcon(getClass().getResource("do_not_dispose.gif")),
SwingConstants.LEFT);
#spandel
JLabel label3 = new JLabel("背景色でつぶす",
#spanend
new ImageIcon(getClass().getResource("restore_to_background_color.gif")),
SwingConstants.LEFT);
#spandel
JLabel label4 = new JLabel("直前の画像に戻す",
#spanend
new ImageIcon(getClass().getResource("restore_to_previous.gif")),
SwingConstants.LEFT);
#spanadd
JLabel label1 = new JLabel(
#spanend
"何もしない",
new ImageIcon(getClass().getResource("no_disposal_specified.gif")),
SwingConstants.LEFT);
#spanadd
#spanend
#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.
参考リンク
- Cover Sheet for the GIF89a Specification
- 「23. Graphic Control Extension.」の、「iv) Disposal Method」から説明を引用
- Giam ダウンロードのページ
-
Giam
を使って、各Animated GIF
を生成
-
- Cover Sheet for the GIF89a Specification
-
23. Graphic Control Extension.
のiv) Disposal Method
から説明を引用
-