swing 字节数组图片绘图

上一篇 / 下一篇  2012-09-10 08:15:44 / 个人分类:java开发

swing中使用repint()调用paintComponent()进行绘制图片,通过一个类继承JPanel
Image image = Toolkit.getDefaultToolkit().createImage(字节数组);
g.drawImage(img,0,0,this);
网上绘制二进制图片基本上都是这样写的,但是最近做这方面的东西,连续的字节数组图片无法正常的绘制在面板上,
困扰了两三天,最后使用MediaTracker最后解决了这个问题
protected void paintComponent(Graphics g) {
      super.paintComponent(g);     
     if(cameraBytes != null){
          img = Toolkit.getDefaultToolkit().createImage(getCameraBytesa());
          if(img == null)
              return;
           tracker.addImage(img, 0);
            try {
              tracker.waitForID(0);
            } catch (Exception e) {
            }          
          Graphics2D  g2 = (Graphics2D)g;
          g2.drawImage(img, 0, 0, 320, 240, this);
        //用来释放内存,存在会报java head reap
        tracker.removeImage(img, 0);   //这句话很重要的,不然一开始绘制了800多张图片,程序就会爆掉
         g2.dispose();
       }
    }
这样就可以将图片以字节数组的形式播放出来。

TAG: swing 字节数组图片

 

评分:0

我来说两句

Open Toolbar