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();

}

原文地址:https://www.cnblogs.com/han-java/p/10502448.html

时间: 2024-10-12 12:06:23

base64转byte[]、byte[]转base64、byte[]转图片后图片按固定宽高缩放的相关文章

java int转byte和long转byte

在网络编程中,出于节约带宽或者编码的需要,通常需要以原生方式处理long和int,而不是转换为string. public class ByteOrderUtils { public static byte[] int2byte(int res) { byte[] targets = new byte[4]; targets[3] = (byte) (res & 0xff);// 最低位 targets[2] = (byte) ((res >> 8) & 0xff);// 次低

java Base64 [ Encode And Decode In Base64 Using Java ]

http://www.javatips.net/blog/2011/08/how-to-encode-and-decode-in-base64-using-java http://commons.apache.org/proper/commons-codec/ 官方下载链接 Encode And Decode In Base64 Using Java explains about different techniques for Encode Base64 using java / Decode

Java对图片Base64转码--HTML对Base64解码 [ Java加强版 ]

Java对图片Base64编码 package base64; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.Rand

【Base64】JDK里面实现Base64的API

原文出处: 成熟的毛毛虫的博客 BASE64 编码是一种常用的字符编码,在很多地方都会用到.但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据. JDK里面实现Base64的API 在JDK1.6之前,JDK核心类一直没有Base64的实现类,有人建议用

按比例压缩图片和图片转换成BASE64

通常会需要将突破转换为字符串的操作,贴此详例,仅供参考和积累 #region 按比例压缩图片和图片转换成BASE64 /// <summary> /// 按照比例缩小图片 /// </summary> /// <param name="srcImage">要缩小的图片</param> /// <param name="percent">缩小比例</param> /// <returns&g

JavaScript把项目本地的图片或者图片的绝对路径转为base64字符串、blob对象在上传

主题: JavaScript把项目本地的图片或者图片的绝对路径转为base64字符串.blob对象在上传. 用处: 从本地选择图片上传,如项目规定只能选择本项目文件夹下的图像上传为头像等. 主要思想: 使用canvas.toDataURL()方法将图片的绝对路径转换为base64编码. 具体用法: 在这我们引用淘宝服务器上的一张图片举例: var imgSrc = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.j

js - blob流和base64,以及file和base64的相互转换

file和base64 1.file文件转换为base64,得到base64格式图片 var reader = new FileReader(); reader.readAsDataURL(this.files[0]); reader.onload = function(){ console.log(reader.result); //获取到base64格式图片 }; 2.base64转换为file function dataURLtoFile(dataurl, filename) {//将ba

springboot ResponseEntity&lt;byte[]&gt; 下载文件 byte 都变成base64

因为spring boot消息转换器 ,全部将数据转换为json格式,包括文件的byte数据 关于spring boot 的消息转换器见:https://www.jianshu.com/p/ffe56d9553fd 解决方案如下: @Configuration public class CustMvcConfig extends WebMvcConfigurationSupport { @Autowired private FastJsonHttpMessageConverter fastJso

获取文件数据流+叠加byte数组(给byte数组加包头包尾)

1 OpenFileDialog ofd = new OpenFileDialog(); 2 ofd.Filter = "(*.mp4)|*.mp4|(*.*)|*.*"; 3 ofd.RestoreDirectory = true; 4 if (ofd.ShowDialog() == DialogResult.OK) 5 { 6 try 7 { // 打开文件 8 9 FileStream fileStream = new FileStream(ofd.FileName, FileM