java绘制图片以原图为标准生成BASE64可以作压缩图片用

public static String getCompressBase64FromUrl(String url, int width, int height) throws Exception {
        BufferedImage img = ImageIO.read(new File(url));
        int width1 = img.getWidth();
        int height1 = img.getHeight();
        BufferedImage tag = new BufferedImage(width1/2, height1/2, BufferedImage.TYPE_INT_RGB);
        // Image.SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的优先级比速度高 生成的图片质量比较好 但速度慢
        tag.getGraphics().drawImage(img.getScaledInstance(width1/2, -1, Image.SCALE_SMOOTH), 0, 0, null);
     
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(tag, "jpeg", baos); // 这里也可以传 FileOutputStream 写进文件里
        return new String(Base64.encodeBase64(baos.toByteArray()));
    }
    // main测试 
    // compressPic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true)) 
    public static void main(String[] arg) { 
        try {
            String compressBase64FromUrl = getCompressBase64FromUrl("C:/Users/Administrator/Pictures/1/Penguins.jpg",100,200);
            System.out.println(compressBase64FromUrl);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值