直奔主題,實戰例子如下
package com.yuanmeng.jase; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ImageIODemo { /** * 創建一個BufferedImage圖片緩沖區對象並指定它寬高和類型 這樣相當於創建一個畫板,然后可以在上面畫畫 */ BufferedImage bi = new BufferedImage(200, 200, BufferedImage.TYPE_INT_BGR); /** * 要生成圖片的類型,可以是JPG GIF JPEG PNG等... */ final String picType = "png"; /** * 成生成圖片的保存路徑和圖片名稱 */ final File file = new File("/Users/xupengwei/hehe/" + picType); /** * 通過指定參數寫一個圖片 * * @param bi * @param picType * @param file * @return boolean 如果失敗返回一個布爾值 */ public static boolean writeImage(BufferedImage bi, String picType, File file) { // 拿到畫筆 Graphics g = bi.getGraphics(); // 畫一個圖形系統默認是白色 g.fillRect(0, 50, 200, 100); // 設置畫筆顏色 g.setColor(new Color(12, 123, 88)); // 設置畫筆畫出的字體風格 g.setFont(new Font("隸書", Font.ITALIC, 30)); // 寫一個字符串 g.drawString("我是IO流圖片", 10, 100); // 釋放畫筆 g.dispose(); // 將畫好的圖片通過流形式寫到硬盤上 boolean val = false; try { val = ImageIO.write(bi, picType, file); } catch (IOException e) { e.printStackTrace(); } return val; } }
test
public static void main(String[] args) { ImageIODemo image = new ImageIODemo(); image.writeImage(image.bi, image.picType, image.file); }
效果如下

