zoukankan      html  css  js  c++  java
  • 等比例改变图片大小

    import java.awt.image.BufferedImage;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    
    import javax.imageio.ImageIO;
    
    public class ChangeImageSize {
    
        public static void main(String[] args) {
            /*String aa="{aa:{'name':'123'}}";
            JSONObject jSONObject = JSONObject.fromObject(aa);
            System.out.println(JSONObject.fromObject(jSONObject.get("aa")).get("name"));
            String a = "20170110200001";
            String b = "20170110200000";
            System.out.println(a.compareTo(b));// a>b => -1 0 1
    */        
            try {
                scaleImage("C:/log/1.jpg", "C:/log/2.jpg", 500, 500);
                System.out.println("yes");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
        
        
        public static String scaleImage(String inpath,String outpath, int width, int height) throws Exception {  
            BufferedImage buffered_oldImage = ImageIO.read(new File(inpath));  
            int imageOldWidth = buffered_oldImage.getWidth();  
            int imageOldHeight = buffered_oldImage.getHeight();  
            double scale_x = (double) width / imageOldWidth;  
            double scale_y = (double) height / imageOldHeight;  
            double scale_xy = Math.min(scale_x, scale_y);  
            int imageNewWidth = (int) (imageOldWidth * scale_xy);  
            int imageNewHeight = (int) (imageOldHeight * scale_xy);  
            BufferedImage buffered_newImage = new BufferedImage(imageNewWidth, imageNewHeight, BufferedImage.TYPE_INT_RGB);  
            buffered_newImage.getGraphics().drawImage(buffered_oldImage.getScaledInstance(imageNewWidth, imageNewHeight, BufferedImage.SCALE_SMOOTH), 0, 0, null);  
            buffered_newImage.getGraphics().dispose();  
            ByteArrayOutputStream outPutStream = new ByteArrayOutputStream();  
            ImageIO.write(buffered_newImage, "jpeg", outPutStream);  
         
            BufferedOutputStream bufferOutput = null;  
            File ff = new File(outpath);
            if(ff.exists()){
                ff.delete();
            }
            bufferOutput = new BufferedOutputStream(new FileOutputStream(ff), 2048);  
            bufferOutput.write(outPutStream.toByteArray());  
            bufferOutput.flush();  
            if (bufferOutput != null) {  
                try {  
                    bufferOutput.close();  
                } catch (Exception e) {  
                    throw new RuntimeException(e);  
                }  
            }  
            
            return outpath;  
        }  
        
        
        
        
        
    }
  • 相关阅读:
    开发一个基于 Android系统车载智能APP
    Xilium.CefGlue利用XHR实现Js调用c#方法
    WPF杂难解 奇怪的DisconnectedItem
    (转)获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓
    mac 安装npm
    mac安装Homebrew
    关于面试,我也有说的
    【分享】小工具大智慧之Sql执行工具
    领域模型中分散的事务如何集中统一处理(C#解决方案)
    小程序大智慧,sqlserver 注释提取工具
  • 原文地址:https://www.cnblogs.com/syscn/p/7742349.html
Copyright © 2011-2022 走看看