Java:Jpanel 缓冲区 图像

11 篇文章 0 订阅

这是一个非常常用的东西

主要是重写JPanel中的paint(Graphics g)方法实现的。

0 写一个类继承JPanel

public class WSModePlane extends JPanel

1 获取缓冲区

首先需要获得JPanel的缓冲区,这样才能在JPanel中画图:

bfimage = (BufferedImage) this.createImage(this.getWidth(),this.getHeight());


这样我们就获得了缓冲区了bfimage。这里的this就是要被画图的Jpanel

2 实现图像处理

而后我们用BufferImage提供的相应函数画图,或者是执行图像处理算法

设置像素点颜色:

bfimage.setRGB(pln, pcol, 0xff0000)
获取像素点颜色:

public int getRGB(int x,int y)
注:ARBG使用一个32位整数保存的,每个参数8位
等等,通过API手册可以查询到相应函数

当然我们也可用Grahics 画图

Graphics bfg = bfimage.getGraphics();

比如画直线

bfg.drawLine(x1,y1,x2,y2);
注意这里实在缓冲区画的,并没有画到Jpanel上面

3 传入Jpanel

重写Jpanel 的 paint函数,将缓冲区中的东西画到Jpanel对应的Graphics上面就行啦 

@Override
	public void paint(Graphics g) {
		g.drawImage(bfimage, 0, 0, null);
	}
4 图像变化

如果需要变化图像,只要改动缓冲区 就是这里的 bfimage,然后调用Jpanel的repaint()函数,就行。非常方便!

wsmodePlane.repaint();

看完后评价是美德~

可以加QQ 993830638讨论 ,很高兴能帮助你!



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值