`
小鱼不爱水
  • 浏览: 19850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BASE64图片处理的相关方法

    博客分类:
  • java
阅读更多
图片压缩方法:
  public static byte[] compressImg(File imgFile,int width,int height){
   if(imgFile.exists()){
    byte[] buffer=null;
    try{
    Image bi=ImageIO.read(imgFile);
    //BufferedImage tmpimg=ImageIO.read(imgFile);
    //bi.getWidth(null);
    ImageIcon icon=new ImageIcon(bi);
    if((icon.getIconHeight()*icon.getIconWidth())>width*height){
     int w=width;
     int h=height;
     int w1=icon.getIconWidth();
     int h1=icon.getIconHeight();
     //等比例缩放
     if(w1/w>h1/h){
      height=h1*w/w1;
     }else{
      width=w1*h/h1;
     }
     bi= bi.getScaledInstance(width,height,Image.SCALE_DEFAULT);
     BufferedImage mBufferedImage = new BufferedImage(width,height ,BufferedImage.TYPE_INT_RGB);
     Graphics2D g2 = mBufferedImage.createGraphics();
        g2.drawImage(bi, 0, 0,width, height, Color.white,null);
        g2.dispose();
        ImageIO.write(mBufferedImage,"jpg",imgFile);
    }
       //File outFile = null;
       //BufferedImage tmpimg=(BufferedImage) bi;
//       ImageIO.write(tmpimg, "jpg", imgFile);
     
     
   
       buffer=new byte[(int) imgFile.length()];
       InputStream is = new FileInputStream(imgFile);
      
       is.read(buffer);
    }catch(Exception e){
     e.printStackTrace();
    }
       return buffer;
   }else{
    return null;
   }
  }
BASE64加密:
BASE64Encoder base64=new BASE64Encoder();
InputStream is=图片文件流,可以通过数据库读取;
   if(is!=null){
    byte imgdata[] = Utils.compressImg(is, 120, 150);
//    byte imgdata1[]=get.switchInputStream(is);
    String img=base64.encode(imgdata);
    result.put("IMG", img);
   }else{
    result.put("IMG", null);
   }
页面处理:
jsp1:
<img src="img.jsp?imgdata=<%=bo.getStringField("IMG")%>" width="120" height="150" border="0" style="border:1px solid #000000">
img.jsp代码:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="java.io.*,sun.misc.BASE64Decoder,java.awt.image.*,cn.sz.iaspec.ddd.web.BaseValueObject,java.util.*,com.sun.image.codec.jpeg.JPEGCodec,com.sun.image.codec.jpeg.JPEGImageEncoder"%>
<%
String strdata=(String)request.getParameter("imgdata");
strdata=strdata.replaceAll(" ","+");//关键的地方,用get的方法传参会使"+"变成" ",所以需要进行替换
BASE64Decoder base=new BASE64Decoder();
byte img[]=base.decodeBuffer(strdata);
InputStream in = new ByteArrayInputStream(img);
BufferedImage image = javax.imageio.ImageIO.read(in);
out.clear();
out = pageContext.pushBody();
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
sos.close();
%>
分享到:
评论

相关推荐

    Android图片的Base64编码与解码及解码Base64图片方法

    在Android开发中,有时我们需要将图片转换为Base64编码的形式以便在网络传输或者存储时使用。Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在...

    C#图片灰度处理+base64处理

    本程序聚焦于两个核心功能:图片的灰度处理和base64编码,这在数据传输、存储以及前端展示等方面有着广泛的应用。 一、图片灰度处理 灰度处理是一种常见的图像处理技术,它将彩色图像转化为单色图像,即每个像素...

    BASE64图片解码_解码_vba图片base64_base64_VBa_图片_

    在Excel中使用VBA(Visual Basic for Applications)解码BASE64编码的图片是一项常见的编程任务,特别是当你需要处理从网络或数据库中获取的BASE64格式的图像数据时。BASE64是一种用于将二进制数据转换为可打印ASCII...

    js加载base64图片

    在JavaScript(JS)中加载Base64编码的图片是一种常见的技术,特别是在动态创建或处理图像时。Base64是一种用于将二进制数据转换为文本格式的方法,以便可以在HTML和JavaScript中安全地传递。以下是对这个主题的详细...

    H5移动端Base64压缩图片

    其中,Base64编码是一种在网络上传输图像数据的方法,尤其在处理小尺寸图片或者作为纯文本传输时非常有用。在这个场景中,我们将讨论如何在H5移动端利用canvas技术将照片转化为Base64格式,并实现直接下载。 Base64...

    JSP severlet 动态 base64 编码 图片 显示处理

    ### JSP Servlet 动态 Base64 编码图片显示处理 #### 为什么需要使用 Base64 图片信息 在 Web 开发过程中,有时需要将图片等二进制数据转换为文本格式进行传输或存储。Base64 是一种常见的编码方式,它能够将任意...

    QT图片BAse64编码与解码

    QT图片Base64编码与解码是C++编程中一种常见的技术,特别是在处理网络传输或者存储图片数据时。Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,它通过特定的算法将每3个字节的数据转换为4个ASCII字符,...

    labview 图片缩放 base64编码base64解码

    在这个特定的场景中,我们关注的是如何在LabVIEW中处理图片,包括图片的缩放、Base64编码和解码。 1. **图片缩放**: 在LabVIEW中,你可以使用图像处理库来实现图片的缩放功能。这个库提供了各种图像操作函数,...

    VC++6.0使用base64编解码转图片

    在本项目"VC++6.0使用base64编解码转图片"中,我们将探讨如何在Visual C++ 6.0环境下实现Base64编码和解码,并将其应用于图片处理。 首先,Base64编码的基本原理是将每3个8位字节(24位)的数据转换为4个6位字节...

    c++图片 base64互转

    在C++编程中,处理图片数据时,我们可能需要将图片转换为Base64编码,或者将Base64编码还原回原始图片。下面将详细介绍这个过程中的关键知识点。 首先,我们需要理解Base64编码的工作原理。Base64使用64个字符...

    图片base64字符串转图片工具代码

    在IT领域,Base64是一种常见的数据编码方法,它用于将二进制数据转换成ASCII字符串,以便在不支持二进制传输的环境下(如电子邮件)进行传递。在这个"图片Base64字符串转图片工具代码"中,我们讨论的是如何使用...

    Base64转图片

    在图像处理领域,Base64编码常用来将图片数据嵌入HTML或CSS代码中,避免了额外的HTTP请求,提高了页面加载速度。 在本项目中,"Base64转图片"是一个基于MFC(Microsoft Foundation Classes)开发的小工具,它实现了...

    JQ JS javascript 普通图片上传 图片格式转换 图片base64转换 jpg转base64 png转base64

    在图片处理中,base64编码可以将图片数据嵌入到HTML或CSS中,无需额外的HTTP请求,提高页面加载速度。 在jQuery中,我们可以使用`input[type="file"]`元素让用户选择图片文件。一旦文件被选中,可以通过`change`...

    c++图片与base64互转

    在IT领域,尤其是在Web开发和数据传输中,Base...总的来说,C++和OpenCV库为处理图片与Base64编码提供了强大支持,使开发者能够在各种场景下灵活地进行数据转换,例如在网络上传输图片数据或者在数据库中存储图片信息。

    java 图片base64 加密解密

    在Java编程中,图片Base64加密解密是一种常见的数据处理技术,特别是在网络传输和存储时,由于Base64编码可以将二进制数据转换为可打印的ASCII字符,因此非常适用。`sun.misc.BASE64Encoder`和`sun.misc.BASE64...

    base64 加解码 base64转hex Base64转图片 图片转Base64工具,比网上其它的方便好用,支持大于1M内容

    将Base64字符串转换为十六进制可以提供另一种查看和处理二进制数据的方法。有时,十六进制格式在某些场景下更方便,例如在调试或与其他系统交互时。 5. **Base64转图片**:如果Base64字符串代表的是图像数据,那么...

    通过base64上传图片到服务器并读取图片

    例如,你可以创建一个新的FileReader实例,调用其`readAsDataURL`方法,该方法会返回一个包含图片Base64编码的data URL。 ```javascript let fileInput = document.querySelector('input[type="file"]'); let ...

    图片base64编码 ocr识别图片文字信息

    在IT行业中,图片Base64编码是一种常见的数据传输和存储方式,它将图片转换成文本字符串,便于在网络中传输,特别是在处理小程序等轻量级应用时尤为常见。OCR(Optical Character Recognition,光学字符识别)技术则...

    Base64文件图片编码解码双向转换解析预览工具

    总结来说,"Base64文件图片编码解码双向转换解析预览工具"是一款实用的应用,涵盖了Base64编码与解码的核心功能,特别适合于处理图片和文件的在线转换,而且其预览和暗色背景设计考虑了用户体验,使得处理透明图片...

    base64转化为图片保存到本地

    此外,如果你有多个Base64编码的图片需要保存,可以考虑批量处理,以提高效率。 总的来说,通过理解Base64编码和.NET Framework提供的工具,我们可以方便地将Base64字符串转换为本地图片文件,这在许多Web应用和...

Global site tag (gtag.js) - Google Analytics