JAVA中BufferedImage的用法


1.用到的包

public static void main(String[] args) {

     // TODO Auto-generated method stub

       int width = 100;

       int height = 100;

    // 1.創建一個不帶透明色的BufferedImage對象

     BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

       // 2.創建一個帶透明色的BufferedImage對象

      bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

     // 3.創建一個與屏幕相適應的BufferedImage對象

     GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment();

      GraphicsDevice gs = ge.getDefaultScreenDevice();

      GraphicsConfiguration gc = gs.getDefaultConfiguration();

     // Create an image that does not support transparency

      bimage = gc.createCompatibleImage(width, height, Transparency.OPAQUE);

      // Create an image that supports transparent pixels

      bimage = gc.createCompatibleImage(width, height, Transparency.BITMASK);

       // Create an image that supports arbitrary levels of transparency

     bimage = gc.createCompatibleImage(width, height,

                Transparency.TRANSLUCENT);

   }

   // 4.當然我們也可以在圖形上下文來創建一個BufferedImage對象

  public void paint(Graphics g) {

       Graphics2D g2d = (Graphics2D) g;

       int width = 100;

       int height = 100;

      // Create an image that does not support transparency

      BufferedImage bimage = g2d.getDeviceConfiguration()

                              .createCompatibleImage(width, height, Transparency.OPAQUE);

       // Create an image that supports transparent pixels

      bimage = g2d.getDeviceConfiguration().createCompatibleImage(width,

                height, Transparency.BITMASK);

      // Create an image that supports arbitrary levels of transparency

      bimage = g2d.getDeviceConfiguration().createCompatibleImage(width,

                height, Transparency.TRANSLUCENT);

   }

}

2.使用BufferedImage的圖像剪裁:

 public static void main(String[] args) {

   try {

   //從特定文件載入

   BufferedImage bi = ImageIO.read(new File("c:\\test.jpg"));

   bi.getSubimage(0, 0, 10, 10);

  } catch (IOException e) {

   e.printStackTrace();

  }


2.如何取到BufferedImage

BufferedImage image = ImageIO.read(new File("1.gif"));

3.BufferedImage  ---->byte[]
ImageIO.write(BufferedImage image,String format,OutputStream out);方法可以很好的解決問題;
參數image表示獲得的BufferedImage;

參數format表示圖片的格式,比如“gif”等;

參數out表示輸出流,如果要轉成Byte數組,則輸出流為ByteArrayOutputStream即可;

執行完后,只需要toByteArray()就能得到byte[];
4.顯示BufferedImage

public void paint(Graphics g){

    super.paint(g);

    g.drawImage(image);    //image為BufferedImage類型

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM