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