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類型 }