base64转byte[]、byte[]转base64、byte[]转图片后图片按固定宽高缩放

/**
     * 图片缩放
     */
    public static BufferedImage ImageStringByte(int width, byte[] b) {
        
        InputStream buffin = new ByteArrayInputStream(b);
        BufferedImage src = null;
        try {
            src = ImageIO.read(buffin);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // 读入文件
        int widthYuan = src.getWidth(); // 得到源图宽
        int heightYuan = src.getHeight(); // 得到源图长
        heightYuan = heightYuan / (widthYuan/width);
        widthYuan = width ;
        Image image = src.getScaledInstance(widthYuan, heightYuan, Image.SCALE_DEFAULT);
        BufferedImage tag = new BufferedImage(widthYuan, heightYuan, BufferedImage.TYPE_INT_RGB);
        Graphics g = tag.getGraphics();
        boolean drawImage = g.drawImage(image, 0, 0, null); // 绘制缩小后的图
        g.dispose();
       return tag;// 输出到文件流
    }

/**
     * byte流转为字符串
     */
    public static String stringsByImage(byte[] binaryData) {
        String b = null;
        try {
            // b = decoder.decodeBuffer(base64str);
            b = Base64.encode(binaryData);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return b;
    }

    /**
     * 将图片字符串流转为图片二进制
     */
    public static byte[] ImageByString(String base64str) {
        byte[] b = null;
        try {
            b = Base64.decode(base64str);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return b;
    }

/**
     * 将图片直接转为byte
     */
    public static byte[] byteByImage(BufferedImage  image) {
        ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 将图片转为byte
        try {
            ImageIO.write(image, "jpg", bos);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return bos.toByteArray();

    }

猜你喜欢

转载自www.cnblogs.com/han-java/p/10502448.html