java取網絡圖片并縮小

fmms 12年前發布 | 15K 次閱讀 Java開發 Java

package action;

import java.awt.image.BufferedImage; import java.io.DataInputStream; import java.io.FileOutputStream; import java.net.HttpURLConnection; import java.net.URL;

import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class Getpic { public Getpic() { }

public static boolean saveUrlAs(String fileUrl, String savePath)/* fileUrl網絡資源地址 */
{

    try {
        /* 將網絡資源地址傳給,即賦值給url */
        URL url = new URL(fileUrl);

        /* 此為聯系獲得網絡資源的固定格式用法,以便后面的in變量獲得url截取網絡資源的輸入流 */
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        DataInputStream in = new DataInputStream(connection.getInputStream());

         BufferedImage src = javax.imageio.ImageIO.read(in);
         int width = src.getWidth();   
            int height = src.getHeight();   

            // 邊長縮小為二分之一   
            BufferedImage tag = new BufferedImage(width / 2, height / 2, BufferedImage.TYPE_INT_RGB);   
            // 繪制縮小后的圖   
            tag.getGraphics().drawImage(src, 0, 0, width / 2, height / 2, null);   
            FileOutputStream out1 = new FileOutputStream(savePath);   
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out1);   
            encoder.encode(tag);   
            out1.close();   


        return true;/* 網絡資源截取并存儲本地成功返回true */

    } catch (Exception e) {
        System.out.println(e + fileUrl + savePath);
        return false;
    }
}

public static void main(String[] args) {
    Getpic pic = new Getpic();/* 創建實例 */

    //需要下載的URL
    String photoUrl = "http://hiphotos.baidu.com/yanshennan/pic/item/03a505c8bcbaf6557f3e6f8a.jpg";

    // 截取最后/后的字符串
    String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));

    //圖片保存路徑
    String filePath = "E:";

    /* 調用函數,并且進行傳參 */
    boolean flag = pic.saveUrlAs(photoUrl, filePath + fileName);

    System.out.println("Run ok!\n Get URL file " + flag);
    System.out.println(filePath);
    System.out.println(fileName);
}

}</pre>

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!