java圖片處理常用類

  1. ImageIO
    ImageIO類包含兩個靜態方法:read()和write(),通過這兩個方法即可完成對位圖文件的讀寫,調用write()方法輸出圖形文件時需要指定輸出的圖形格式。
    public static BufferedImage read(File input) throws IOException
    public static boolean write(RenderedImage im,String formatName,File output)throws IOException
  2. BufferedImage
    Image類代表位圖,但它是一個抽象類,無法直接創建Image對象,爲此java爲它提供了一個BufferedImage子類,這個子類是一個可以訪問圖像數據緩衝區的Image實現類。該類提供了一個簡單的構造器:
    BufferedImage(int width,int height,int imageType):創建指定大小、指定圖像類型的BufferedImage對象。
    除此之外,還提供一個getGraphics()方法返回該對象的Graphics對象,從而允許通過該Graphics對象向BufferedImage中添加圖形。
  3. Graphics
    Graphics是一個抽象的畫筆對象,它可以在組件上繪製豐富多彩的幾何圖形和位圖。它提供有一個重要方法,將一個img對象的原始圖形寬度縮小爲width,高度縮小爲height,添加到BufferedImage對象的(x,y)處:
    public abstract boolean drawImage(Image img, int x, int y,int width,int height, ImageObserver observer)
import tmall.bean.Category;
import tmall.util.DBUtil;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
public class Main {
    public static void main(String[] args) throws IOException {
        //定義一個BufferedImage對象,用於保存縮小後的位圖
        BufferedImage bufferedImage=new BufferedImage(217,190,BufferedImage.TYPE_INT_RGB);
        Graphics graphics=bufferedImage.getGraphics();
        
        //讀取原始位圖
        Image srcImage= ImageIO.read(new File("J:\\1.jpg"));
       
        //將原始位圖縮小後繪製到bufferedImage對象中 
        graphics.drawImage(srcImage,0,0,217,190,null);
        //將bufferedImage對象輸出到磁盤上
        ImageIO.write(bufferedImage,"jpg",new File("j:\\2.jpg"));
     
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章