zoukankan      html  css  js  c++  java
  • ImageIO(图像处理)

    1.通过ImageIO的read和writer,对图像文件进行处理。

    BufferedImage buffImage = ImageIO.read(file);
    // 将图像输出到Servlet输出流中。
    ImageIO.write(buffImage, "jpg", response.getOutputStream());

    2. 使用byteArray保存request获取的流数据

     1 InputStream is = null;
     2         byte[] byteArray = null;
     3         ByteArrayOutputStream os = null;
     4         try{
     5             is = super.getRemoteReqStream(url);
     6             byte[] temp = new byte[1024];
     7             os = new ByteArrayOutputStream();
     8             int iLength = 0;
     9             while((iLength = is.read(temp, 0, 1024)) != -1){
    10                 os.write(temp, 0, iLength);
    11             }
    12             is.close();
    13             byteArray = os.toByteArray();
    ByteArrayOutputStream

    3.FileUtils可对文件进行各种操作。

    4.FileNameUtils可对文件名进行各种操作。

    5. 通过Base64对image流文件转化(这里Base64使用的是Apache的Base64)

     1     /**
     2      * 通过Base64对图像数组进行转化为字符串
     3      * @param byteArray
     4      * @return
     5      */
     6     @SuppressWarnings("static-access")
     7     public static String getImageStrByBase64(byte[] byteArray){
     8         String strImage = "";
     9         // 空值判断
    10         if(null == byteArray || byteArray.length == 0){
    11             return strImage;
    12         }
    13         Base64 base64 = new Base64();
    14         strImage = base64.encodeBase64String(byteArray);
    15         return strImage;
    16     }
    17     
    18     
    19     /**
    20      * 通过Base64对图像数组进行转化为字符串
    21      * @param byteArray
    22      * @return
    23      */
    24     @SuppressWarnings("static-access")
    25     public static byte[] getImageByteByBase64(String strImage){
    26         byte[] byteImg = null;
    27         // 空值判断
    28         if(StringUtils.isEmpty(strImage)){
    29             return byteImg;
    30         }
    31         Base64 base64 = new Base64();
    32         byteImg = base64.decodeBase64(strImage);
    33         return byteImg;
    34     }
    Base64

    6.canvas

    canvas.toDataURL("image/jpeg", 0.8);  // (image/png)

    7.<img>

    1. 流形式:<img src="/image/srcInputStream" />

    2. 文件路径: <img src="/image/default.jpg" />  当web运行报出找不到图片但图片确实存在时,因为Tomcat服务器的访问权限设置,使得无法访问本项目之外的文件。需要配置Server.xml

    添加路径  : 

    <Context crossContext="true" docBase="D:apphrcloudelearningfilevideo" path="/fileSource" reloadable="true">
    </Context>

    3. base64展示: 

    <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJ"/>

    4. 因error方法在jquery3版本已经去掉,因此

    $("img").attr("onerror", "this.src='***********************************'");

    9.对图像的缩放:

    1 BufferedImage buffImage = ImageIO.read(new ByteArrayInputStream(byteImg));
    2             int width = buffImage.getWidth();
    3             int height = buffImage.getHeight();
    4             int scaledH = (int)((float)height/(float)width*scaleWidth);
    5             Image image = buffImage.getScaledInstance(scaleWidth, scaledH, buffImage.SCALE_REPLICATE);
    6             BufferedImage bi = new BufferedImage(scaleWidth, scaledH, BufferedImage.TYPE_INT_RGB);
    7             bi.getGraphics().drawImage(image, 0, 0, null);
    8             ImageIO.write(bi, "jpg", file);
    scaleImage
  • 相关阅读:
    SpringMVC 工作流程
    zookeeper
    Zookeeper
    HashMap
    Shiro learning
    Shiro learning
    Shiro learning
    Easy Poi入门
    Enum枚举学习- java5之前和之后的写法
    linux命令行todo列表管理工具Taskwarrior介绍
  • 原文地址:https://www.cnblogs.com/DennyZhao/p/7069486.html
Copyright © 2011-2022 走看看