BufferedImage bi = (BufferedImage)createImage(w, h); Graphics big = bi.createGraphics(); // draw somthing with big g.drawImage(bi, 0, 0, this);big是BufferedImage画笔,画在BufferedImage上; g是容器画笔,把BufferedImage画在容器上
public void paint(Graphics g){ Graphics2D g2=(Graphics2D)g; int w=org.zhou.map.MapFrame.DEFAULT_WIDTH; int h=org.zhou.map.MapFrame.DEFAULT_HEIGHT; BufferedImage bufimg=(BufferedImage)createImage(w, h); g2=bufimg.createGraphics();//这个照理应该是利用g2画笔画到BufferImage上 g2.setBackground(Color.WHITE); work.drawWork(g2,dcr);//我把画图的功能下放到点,线,面对象中了 Graphics gb=bufimg.getGraphics();//新的画笔把图像画到JPanel上 gb.drawImage(bufimg, 0, 0,null); } 不知道哪里错,还是显示的是全白的
public void paint(Graphics g){ Graphics2D g2=(Graphics2D)g; int w=org.zhou.map.MapFrame.DEFAULT_WIDTH; int h=org.zhou.map.MapFrame.DEFAULT_HEIGHT; BufferedImage bufimg=(BufferedImage)createImage(w, h); Graphics gb=bufimg.createGraphics(); gb.setBackground(Color.WHITE); work.drawWork(g2,dcr); g2.drawImage(bufimg, 0, 0,null); } 再试试
用g画笔画
Image img = CreateImage(new MemoryImageSource( ));
int imgWidth=org.zhou.map.MapFrame.DEFAULT_WIDTH;
int imgHeight = org.zhou.map.MapFrame.DEFAULT_HEIGHT;
Dimension size = new Dimension(imgWidth,imgHeight);
BufferedImage bufimg = new BufferedImage(size.width,size.height,BufferedImage.TYPE_INT_RGB);
Graphics2D g2=(Graphics2D)g;
g2=bufimg.createGraphics();
g2.setBackground(Color.WHITE);
g2.drawOval(100, 100, 100, 100);
Graphics big = bi.createGraphics();
// draw somthing with big
g.drawImage(bi, 0, 0, this);big是BufferedImage画笔,画在BufferedImage上;
g是容器画笔,把BufferedImage画在容器上
Graphics2D g2=(Graphics2D)g;
int w=org.zhou.map.MapFrame.DEFAULT_WIDTH;
int h=org.zhou.map.MapFrame.DEFAULT_HEIGHT;
BufferedImage bufimg=(BufferedImage)createImage(w, h);
g2=bufimg.createGraphics();//这个照理应该是利用g2画笔画到BufferImage上
g2.setBackground(Color.WHITE);
work.drawWork(g2,dcr);//我把画图的功能下放到点,线,面对象中了
Graphics gb=bufimg.getGraphics();//新的画笔把图像画到JPanel上
gb.drawImage(bufimg, 0, 0,null);
}
不知道哪里错,还是显示的是全白的
Graphics2D g2=(Graphics2D)g;
int w=org.zhou.map.MapFrame.DEFAULT_WIDTH;
int h=org.zhou.map.MapFrame.DEFAULT_HEIGHT;
BufferedImage bufimg=(BufferedImage)createImage(w, h);
Graphics gb=bufimg.createGraphics();
gb.setBackground(Color.WHITE);
work.drawWork(g2,dcr);
g2.drawImage(bufimg, 0, 0,null);
}
再试试