gpt4 book ai didi

Java:d​​rawImage 动画 gif 卡住在第一帧

转载 作者:行者123 更新时间:2023-12-01 22:38:54 25 4
gpt4 key购买 nike

我得到了在小程序中绘制图像的代码,但它是一个动画 gif,并且停在第一帧,就好像它是单个图像一样。

这应该是幽灵般的骷髅在跳舞,但他只是站着不动。

这是我的代码:

import java.util.*;
import java.awt.*;
import java.applet.*;
import java.net.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Spooky extends Applet
{
Image scary, trumpet, walking;
MediaTracker mt;
AudioClip spoopy;
Graphics buffer;
Image offscreen;
Dimension dim;

public void init()
{
setLayout(null);
mt = new MediaTracker(this);


mt.addImage(scary,1);
mt.addImage(trumpet,1);
mt.addImage(walking,1);
spoopy = getAudioClip(getDocumentBase(),"spoopy.wav");
spoopy.loop();
}

public void paint(Graphics g)
{
try
{
URL url = this.getClass().getResource("spooky.gif");
BufferedImage img;
img = ImageIO.read(url);
mt.addImage(img,1);
g.drawImage(img,0,0,300,300,this);
}
catch(IOException e)
{
}

}
}

最佳答案

问题出在 ImageIO.read(url); 方法上。不知道怎么回事,但在内部,它扰乱了 gif 的阅读。相反,从 URL 构造一个 ImageIcon 并使用 ImageIcongetImage() 来获取 Image

顺便说一句,不要在 paint 方法中加载图像。将其加载到 init 方法中。

public class Spooky extends Applet {
Image image;

public void init() {
URL url = this.getClass().getResource("spooky.gif");
image = new ImageIcon(url).getImage();
}

public void paint(Graphics g) {
super.paint(g);
g.drawImage(image, 0, 0, 300, 300, this);
}
}

关于Java:d​​rawImage 动画 gif 卡住在第一帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26488408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com