📄 serialimage2.java
字号:
import java.awt.*;
import java.applet.*;
public class SerialImage2 extends Applet implements Runnable
{
int SPF;//动画播放发帧数的倒数
int sx,sy; //图象来源区域
Image animation;
MediaTracker mt ;
Thread newThread;
Image offScreen;//次画面
Graphics drawOffScreen;//绘制次画面的Graphics
public void init()
{
SPF = 100;
mt = new MediaTracker(this);
animation = getImage(getDocumentBase(), "images/cg0432.gif");
mt.addImage(animation, 0);
try
{
showStatus("图象加载中...");
mt.waitForAll();
}
catch (InterruptedException e) {}
offScreen = createImage(250, 250);//建立次画面
drawOffScreen = offScreen.getGraphics();
}
public void start()
{
//建立并启动新线程
newThread = new Thread(this);
newThread.start();
}
public void stop()
{
newThread = null;
}
public void paint(Graphics g)
{
//下面清除次画面
drawOffScreen.clearRect(0, 0, 250, 250);
//在次画面绘制图象
drawOffScreen.drawImage(animation, 0, 0, 250, 250,
sx, sy, sx + 250, sy + 250,this);
g.drawImage(offScreen, 0, 0, 250, 250, this);
}
public void update(Graphics g)
{
paint(g);
}
public void run()
{
while (newThread != null)
{
repaint();
try
{
Thread.sleep(SPF);
//计算来源区域
//下面是原始的,因为图片有更改,所以自己写一段
// sx += 128;
// if (sx == 640)
// {
// sy += 96;
// sx = 0;
// if (sy == 480)
// sy = 0;
// }
sx += 250;
if (sx == 1750)
sx = 0;
}
catch (InterruptedException e) {}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -