
在调整窗口大小时如何不让JPanel清除之前的图像 10
我先是把JPanel的paint()方法重写为publicvoidpaint(Graphicsg){}然后使用JPanel的getGraphics()进行绘图但是在绘图完...
我先是把JPanel的paint()方法重写为
public void paint(Graphics g){}
然后使用JPanel的getGraphics()进行绘图
但是在绘图完成后我调整窗口大小,图像就消失了
我不想专门做一个线程来重复绘图,如何在调整窗口大小时不让图像消失? 展开
public void paint(Graphics g){}
然后使用JPanel的getGraphics()进行绘图
但是在绘图完成后我调整窗口大小,图像就消失了
我不想专门做一个线程来重复绘图,如何在调整窗口大小时不让图像消失? 展开
1个回答
展开全部
awt有一个BufferedImage类,这个类有一个返回int类型的getRGB()方法,这个数据格式是0xrrggbb,所以只需通过移位就能获得对应的R,G,B数值:intrgb=image.getRGB(x,y);intR=(rgb&0xff0000)>>16;intG=(rgb&0xff00)>>8;intB=(rgb&0xff);问题在于,如何拿到BufferedImage对象,这个类不能用来根据硬盘上的图片初始化一个内存中的图像。现在有两种方法可以正确的初始化bufferedImage.1、初始化一个固定大小的BufferedImage画布,用他对应的Graphics对象调用graphics.drawImage()方法在画布上画图。2、awt有个Robot类,它有个很重要的函数叫做createScreenCapture,用来截屏的。它接受的参数是一个Rectangle对象,用来表明截屏位置和大小。最关键的是这个函数直接返回BufferedImage对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询