在学习如何向png图片中插入metaData 时候,发现了一个工具包,很好用,commons-imaging-1.0, 可以到网上搜索下载jar包。

这里写了一个简短的练习类,来学习, 实现的功能是读取图片的metadata,并插入到新图片中。

public static byte[] imageWriteExample(final File file)throws ImageReadException, ImageWriteException, IOException {// read imagefinal BufferedImage image = Imaging.getBufferedImage(file);final ImageFormat format = ImageFormats.PNG;ImageInfo imageInfo = Imaging.getImageInfo(file);List<String> allComments = imageInfo.getComments();List newComments = new ArrayList();for (String items : allComments) {System.out.println(items);String[] item = items.split(":");if (item[0].equals("view_nodes")) {newComments.add(new PngText.Itxt(item[0], item[1], "utf-8", ""));} else {newComments.add(new PngText.Text(item[0], item[1]));}}final Map<String, Object> params = new HashMap<>();// set optional parameters if you likeparams.put(PngConstants.PARAM_KEY_PNG_TEXT_CHUNKS, newComments);params.put(PngConstants.PARAM_KEY_PNG_FORCE_TRUE_COLOR, imageInfo.getColorType());final byte[] bytes = Imaging.writeImageToBytes(image, format, params);return bytes;}public static void byte2image(byte[] data, String path) {if (data.length < 3 || path.equals(""))return;// 判断输入的byte是否为空try {FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));// 打开输入流imageOutput.write(data, 0, data.length);imageOutput.close();System.out.println("Make Picture success,Please find image in " + path);} catch (Exception ex) {System.out.println("Exception: " + ex);ex.printStackTrace();}}public static void main(String[] args) {File file = new File("C:\\test\\t.png");try {byte[] contentByte = imageWriteExample(file);byte2image(contentByte, "C:\\test\\a.png");} catch (ImageReadException e) {e.printStackTrace();} catch (ImageWriteException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

操作PNG图片的Chunks相关推荐

  1. (专升本)Word插入操作(图片、剪贴画、屏幕截图、自选图形)

    插入操作 插入图片和剪贴画 插入图片的操作 插入屏幕截图操作 插入自选图形操作 插入图片和剪贴画 #mermaid-svg-opQA9LcRgVCMFcHM .label{font-family:'t ...

  2. Java操作长方形图片补全不失真成正方形图片

    Java操作长方形图片补全不失真成正方形图片 BufferedImage image = ImageIO.read(new FileInputStream(new File("C:\\Use ...

  3. 【ps操作】图片裁切、校色、修复以及蒙版的使用

    文章目录 基本操作 图层面板介绍 图片的裁切 图像校色 图像修复 红眼 修瑕疵 去水印 蒙版的作用 钢笔工具 基本操作 工具栏设置 菜单中窗口(设置右边的工具栏)--添加导航器,画笔,字符这些常用工具 ...

  4. 骚操作!图片缩小后 内容竟变得完全不同?

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 编辑:AI算法与图像处理 仅作为学习交流分享,如有侵权请联 ...

  5. 4 文件操作 支持图片 视频 mp3 文本等

    #文件操作:send_file,支持图片 视频 mp3 文本等@app.route("/img")def img(): return send_file("1.jpg&q ...

  6. Word如何操作压缩图片?干货经验!怎么在Word中压缩图片?

    Word是一款文字处理器办公软件,我们会经常使用它来进行工作中的编辑文字图片内容,我们在编辑文章内容的同时不仅有文字也会有图片,但因为我们有些工作的特殊原因对于我们文章中的图片大小有着独特要求,图片文 ...

  7. js控制台 console 骚操作-打印图片-自定义样式-字符画

    目录 控制台打印骚操作 自定义样式 打印(输出)图片 借助平台打印字符(符号组成) Lunicode 平台操作 图片转字符打印 控制台打印骚操作二 效果图 代码实现 错误案例 方式一(感觉有点乱) 方 ...

  8. 前端HTML调用jQuery库,属性操作:更换图片、添加字体样式(前端:HTML搭配jQuery系列教程六)

    属性操作:更换图片.改变字体样式 1.更换图片: 在jQuery中,我们可以使用attr()方法来获取元素的某一个HTML属性值. 语法: $().attr("属性名") 说明:获 ...

  9. 安卓基础学习 Day18|按键事件+手势操作(图片的放大、缩小、切换)

    目录 一.按键事件的概念 二.案例演示 1.提出要求 2.主布局资源文件 3.主界面 一.触摸事件的概述 触摸分类 触摸动作 触摸监听器 触摸方法 触点个数与坐标 二.单点触摸 案例:移动米老鼠 提出 ...

最新文章

  1. 虚拟机linux 8.04汉化,在虚拟机中快速安装 Ubuntu 18.04
  2. [Apple开发者帐户帮助]三、创建证书(3)创建企业分发证书
  3. 在Ubuntu上编译libusb
  4. 4g的服务器mysql配置文件,服务器物理内存16G mysql数据库my.cnf配置及参数说明
  5. 归档和解档-Archiver
  6. 11.11.17 start L3
  7. org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context'
  8. IDEA 中git使用非默认ssh客户端进行登录
  9. python转cython_Cython的简单使用
  10. 【RS|概念】辐射校正和几何纠正
  11. 锚点盒子随滚动条浮动
  12. npy文件转换为txt文件
  13. 批发表情包,掏出了python 3分钟爬取表情包素材,分享给你
  14. 计算机网络第二章 韩立刚
  15. 函数的 smoothness 和 convexity
  16. 前端实现Thing.js 3D模型展示Demo
  17. kepp-alive的作用?keep-alive的属性?路由元信息?白名单黑名单?keep-alive的钩子函数
  18. 经典100句——人生与社会
  19. 【华为云速建站的购买流程】
  20. 集群服务器上的jupyter配置

热门文章

  1. 共享wifi项目怎么样
  2. lnmp下论坛的搭建
  3. 科研试剂5,10,15,20-四(4-羟基苯)-21H,23H-卟啉(51094-17-8);铕配合物Eu-pyP;5-对-(对羰基苯甲酸)-氨基苯基-10,1 5,20-三苯基卟啉铜Cu(p-CP
  4. axios系列之get传数组
  5. 牛客C基础题型复习打卡(2)
  6. curl命令断点续传多线程下载文件
  7. HQL 多表联合查询
  8. 【队内赛 T2】【数学】巡回的梦魇之神喜欢数列
  9. 数据库查询尚未归还的借书记录(查询借书但未归还的读者的编号、姓名及所借图书编号、
  10. Non-obtrusive detection of concealed metallic objects using commodity WiFi radios-GLOBECOM2018