BufferedImage:指定寬、高、色彩模式(TYPE_INT_RGB)。Graphics 物件進行繪圖。Graphics 資源(dispose())。ImageIO.write() 輸出圖片流(JPEG/PNG)。public class HelloImage {
public static void main(String[] args) {
BufferedImage image = new BufferedImage(80, 25, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, 80, 25);
g.setColor(Color.BLACK);
g.drawString("HelloImage", 6, 16);
g.dispose();
try {
ImageIO.write(image, "jpeg", new File("C:\\helloImage.jpeg"));
} catch (IOException e) { e.printStackTrace(); }
}
}
編譯執行後,C 盤根目錄會產生含「HelloImage」文字的 JPEG 圖片。
doGet 中。session.setAttribute("rand", code)。Content-Type: image/jpeg、Pragma: No-cache、Cache-Control: no-cache。ImageIO.write(image, "JPEG", response.getOutputStream())。<img src="CaptchaServlet" />,點擊圖片可重新整理。javax.imageio 而非舊版 com.sun.image.codec.jpeg。