java绘制缓存图像示例
来源:互联网 发布:mac系统更新 编辑:程序博客网 时间:2024/05/16 06:29
用java绘制图像时候,为了速度,需要缓存图像。写一个示例代码,供参考。
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Transparency;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
class MyPanel extends JPanel{
private int px = 400;
private Image newImage = null;
public MyPanel(){
super();
this.setSize(400, 400);
final MyPanel t = this;
//内部线程绘制图,具体应用中,一般由外部控制
new Thread(){
public void run(){
try{
while(true){
t.addPX();
t.repaint();
this.sleep(10);
}
}catch(Exception e){
e.printStackTrace();
}
}
}.start();
}
public void addPX(){
if(px>400){
px = 0;
//随几绘制背景图
newImage = new BufferedImage(
400,
400,
Transparency.BITMASK);
Graphics2D g = (Graphics2D)newImage.getGraphics();
g.setColor(Color.red);
int t1 = (int)(Math.random()*300);
int t2 = (int)(Math.random()*300);
int t3 = (int)(Math.random()*300);
int t4 = (int)(Math.random()*300);
int t5 = (int)(Math.random()*300);
int t6 = (int)(Math.random()*300);
int t7 = (int)(Math.random()*300);
int t8 = (int)(Math.random()*300);
g.fill3DRect(t1, t2, t3, t4, true);
g.setColor(Color.green);
g.fillOval(t5, t6, t7, t8);
g.dispose();
}
px ++;
}
public void paint(Graphics gt)
{
super.paint(gt);
if(newImage!=null){
//绘制缓存图片
gt.drawImage(newImage,0,0,this);
}
gt.setColor(Color.blue);
gt.drawLine(0,0,px,400);
}
}
//网络大本营 Http://www.QQView.com
public class Main extends JFrame{
public Main(){
super("测试页面");
this.setSize(400,400);
this.setLocation(100,100);
Container con=this.getContentPane();
con.setLayout(null);
MyPanel mp = new MyPanel();
mp.setLocation(0, 0);
con.add(mp);
//添加关闭退出
this.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent event)
{
System.exit(0);
}
}
);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main view = new Main();
view.setVisible(true);
}
}
该文章转载自网络大本营:http://www.xrss.cn/Dev/JAVA/2007121218139.Html
- java绘制缓存图像示例
- java绘制缓存图像示例
- java绘制缓存图像示例
- java APPlet 绘制图像
- Android OpenGL 纹理绘制图像---JAVA实现
- 绘制图像
- 图像绘制
- 图像绘制
- 分布式是缓存memcached Java示例代码
- java 缓存 ConcurrentHashMap 单例 简单示例
- Java的图像处理代码示例
- C# 使用.NET性能计数器示例 绘制出正弦函数图像
- android应用开发揭秘第13章01示例,移动图像,opengl绘制星星问题解决!
- java 在屏幕上绘制图像(单例运行)
- JAVA 绘制验证码图像及解决黑色背景问题
- 【python 图像绘制】图像绘制知识总结
- java 缓存框架java caching system使用示例
- java 缓存框架java caching system使用示例
- java命名规范
- 股市快速下跌对楼市影响(转自易宪容的博客)
- ww编码计划
- GridView的基本功能以及使用方法
- C#中实现繁简体字转换
- java绘制缓存图像示例
- 简洁、明晰!数据库设计三大范式应用实例剖析(-)
- asp生成不重复的随机数,随机取数据库记录
- mysql随机查询语句
- 简洁、明晰!数据库设计三大范式应用实例剖析(二)
- Ubuntu的虚拟控制台实现中文(转载及实践可用)
- Second Life第二人生 注册 登陆 常见问题解析
- CSDN Blog 首开张
- asp.net TreeView实现博客后台管理树