Java将图片压缩为原来的一半
生活随笔
收集整理的這篇文章主要介紹了
Java将图片压缩为原来的一半
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java將圖片壓縮為原來的一半
思路:
1.獲取源圖片的尺寸
2.設置目標圖片的尺寸
3.打開源圖片
4.基于源圖片生成目標圖片
ps: 在linux上無法使用JPEGImageEncoder?,因此需要修改代碼,使用ImageIO代替JPEGImageEncoder?
/*JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
? ? ? ? ? ? sLogger.info("create encoder done");
? ? ? ? ? ? encoder.encode(outImage);
? ? ? ? ? ? sLogger.info("encoder done");*/
? ? ? ? ? ? ImageIO.write(outImage, "jpg", out);
? ? ? ? ? ? out.flush();
? ? ? ? ? ? out.close();
? ? ?* 壓縮為input的1/2
? ? ?* @param filesrc
? ? ?* @param outsrc
? ? ?*/
? ? public static void composePic(String inFileName, String outFileName) {
? ? ? ? try {
? ? ? ? ? ? File inFile = new File(inFileName);
? ? ? ? ? ? Image inImage = javax.imageio.ImageIO.read(inFile);
? ? ? ? ? ??
? ? ? ? ? ? //get the input image's width and height
? ? ? ? ? ? int input_width = inImage.getWidth(null);
? ? ? ? ? ? int input_height = inImage.getHeight(null);
? ? ? ? ? ? System.out.println("input_width = " + input_width);
? ? ? ? ? ? System.out.println("input_height = " + input_height);
? ? ? ? ? ??
? ? ? ? ? ? //set the output image's width and height
? ? ? ? ? ? int out_width = input_width/2;
? ? ? ? ? ? int out_height = input_height/2;
? ? ? ? ? ? BufferedImage outImage = new BufferedImage(out_width, out_height,
? ? ? ? ? ? ? ? ? ? BufferedImage.TYPE_INT_RGB);//an image with 8-bit RGB color
? ? ? ? ? ? Graphics2D g2d = outImage.createGraphics();
? ? ? ? ? ? g2d.drawImage(inImage, 0, 0, out_width, out_height, null);
? ? ? ? ? ? g2d.setComposite(AlphaComposite.getInstance(
? ? ? ? ? ? ? ? ? ? AlphaComposite.SRC_ATOP, 1.0f)); // 透明度設置開始
? ? ? ? ? ? g2d.setComposite(AlphaComposite
? ? ? ? ? ? ? ? ? ? .getInstance(AlphaComposite.SRC_OVER)); // 透明度設置 結束
? ? ? ? ? ? FileOutputStream out = new FileOutputStream(outFileName);
? ? ? ? ? ? JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
? ? ? ? ? ? encoder.encode(outImage);
? ? ? ? ? ? out.close();
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
總結
以上是生活随笔為你收集整理的Java将图片压缩为原来的一半的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSP201609-3(炉石传说)(Ja
- 下一篇: java 将网页表格导出_Java导出网