歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java取網絡圖片並縮小

Java取網絡圖片並縮小:

  1. package action;  
  2.   
  3. import java.awt.image.BufferedImage;  
  4. import java.io.DataInputStream;  
  5. import java.io.FileOutputStream;  
  6. import java.net.HttpURLConnection;  
  7. import java.net.URL;  
  8.   
  9. import com.sun.image.codec.jpeg.JPEGCodec;  
  10. import com.sun.image.codec.jpeg.JPEGImageEncoder;  
  11.   
  12. public class Getpic {  
  13.     public Getpic() {  
  14.     }  
  15.   
  16.     public static boolean saveUrlAs(String fileUrl, String savePath)/* fileUrl網絡資源地址 */  
  17.     {  
  18.   
  19.         try {  
  20.             /* 將網絡資源地址傳給,即賦值給url */  
  21.             URL url = new URL(fileUrl);  
  22.               
  23.             /* 此為聯系獲得網絡資源的固定格式用法,以便後面的in變量獲得url截取網絡資源的輸入流 */  
  24.             HttpURLConnection connection = (HttpURLConnection) url.openConnection();  
  25.             DataInputStream in = new DataInputStream(connection.getInputStream());  
  26.               
  27.              BufferedImage src = javax.imageio.ImageIO.read(in);  
  28.              int width = src.getWidth();     
  29.                 int height = src.getHeight();     
  30.             
  31.                 // 邊長縮小為二分之一      
  32.                 BufferedImage tag = new BufferedImage(width / 2, height / 2, BufferedImage.TYPE_INT_RGB);     
  33.                 // 繪制縮小後的圖      
  34.                 tag.getGraphics().drawImage(src, 00, width / 2, height / 2null);     
  35.                 FileOutputStream out1 = new FileOutputStream(savePath);     
  36.                 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out1);     
  37.                 encoder.encode(tag);     
  38.                 out1.close();     
  39.               
  40.               
  41.             return true;/* 網絡資源截取並存儲本地成功返回true */  
  42.   
  43.         } catch (Exception e) {  
  44.             System.out.println(e + fileUrl + savePath);  
  45.             return false;  
  46.         }  
  47.     }  
  48.   
  49.     public static void main(String[] args) {  
  50.         Getpic pic = new Getpic();/* 創建實例 */  
  51.           
  52.         //需要下載的URL   
  53.         String photoUrl = "http://hiphotos.baidu.com/yanshennan/pic/item/03a505c8bcbaf6557f3e6f8a.jpg";  
  54.   
  55.         // 截取最後/後的字符串   
  56.         String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));  
  57.           
  58.         //圖片保存路徑   
  59.         String filePath = "E:";  
  60.           
  61.         /* 調用函數,並且進行傳參 */  
  62.         boolean flag = pic.saveUrlAs(photoUrl, filePath + fileName);  
  63.           
  64.         System.out.println("Run ok!\n Get URL file " + flag);  
  65.         System.out.println(filePath);  
  66.         System.out.println(fileName);  
  67.     }  
  68.   
  69. }  
相關閱讀: Linux Java取網絡圖片縮小報錯解決 http://www.linuxidc.com/Linux/2012-02/55468.htm
Copyright © Linux教程網 All Rights Reserved