歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java取網絡圖片並縮小

Java取網絡圖片並縮小

日期:2017/3/1 10:28:15   编辑:Linux編程

Java取網絡圖片並縮小:

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