JAVA ImageIO图片处理后变色
JAVA ImageIO图片处理后变色问题
最初使用ImagIO.Read() 从InputStream 转成BufferImage 然后进行水印添加,普通图片没问题,但是当前端通过JS剪裁传入后就出现变色的问题
压缩前
压缩后
网上查找了很久, 基本确定是ImageIO.Read 的问题,解决方案就变成避免使用这个函数,替代的方案为
Toolkit.getDefaultToolkit().getImage(URL);
但是此方法只能使用URL或者具体路径,那么又回到最初。
后经查询,发现,可以试试将图片的aRGB换成RGB。
Having an image develop a tint usually means the image is being rendered using the wrong colorspace, Adobe RGB vs. sRGB being a perennial favorite. Try changing TYPE_INT_ARGB to TYPE_INT_RGB in your code.
思路就是将ImageIO得到的BufferImage 赋值给一个新的已经设定好RGB的BufferImage, 然后就有以下代码
BufferedImage _img = javax.imageio.ImageIO.read(file);BufferedImage _newImg= new BufferedImage(_img.getWidth(),_img.getHeight(),BufferedImage.TYPE_INT_RGB);_newImg.getGraphics().drawImage(_img, 0, 0, null);
然后再进行压缩,解决。
JAVA ImageIO图片处理后变色相关推荐
- java ImageIO.write图片上传变色及背景变黑解决
java ImageIO.write图片上传变色及背景变黑解决 public void getImage(HttpServletRequest request, HttpServletResponse ...
- java导出jar包后,程序运行时读取图片、音乐资源文件
java导出jar包后,程序运行时读取图片.音乐资源文件 运行时程序就可以把图片.音乐资源加载进入了 start jre/bin/java -jar 名称.jar
- (Java版)颈椎病治疗最近云海学长一直对着电脑改bug, 颈椎不舒服, 希望各位小伙伴帮云海学长治治提供一张图片, 将图片旋转后再发给云海学长, 这样学长看图的时候就需要歪着脖子, 时间久了,
2. 颈椎病治疗 最近云海学长一直对着电脑改bug, 颈椎不舒服, 希望各位小伙伴帮云海学长治治 提供一张图片, 将图片旋转后再发给云海学长, 这样学长看图的时候就需要歪着脖子, 时间久了, 颈椎病就 ...
- java 浏览器访问图片不显示_[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题...
[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题 0 2016-05-27 07:00:50 做项目的时候遇到一个问题: 上传文件以后,相同的地址,第一次加载没有问题,当你操作次数过快, ...
- java文本框光标后添加图片_由编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)实现的富文本编辑器...
大家都知道,如果只是大概的实现一个简单的富文本编辑器,直接用execCommand就可以了,虽然不同浏览器对execCommand命令的反应不一样,最后效果是差不多的.当然,如果要严谨的,用像uedi ...
- Java BufferImage图片处理(获取宽高、图片截取、转换灰度图)
Java BufferImage图片处理(获取宽高.截取.转换灰度图) 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用Java读取图片为byte[]数组,或者BufferedImage及互相转 ...
- Java实现图片裁剪预览功能
Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload;imp ...
- android 图片变颜色代码,Android -对图片Drawable进行变色
Android 图片DrawableCompat利用setTint()对图片Drawable进行变色 1.利用color资源对Drawable变色 Drawable对象的来源不限制,可以是从资源get ...
- Java为图片加水印
Java为图片加水印工具类 一.简介 使用Java在图片上加上水印,可以添加文字.图片 编写一个工具类的代码优化和整理 使用建造者模式提高工具类的可配置性 二.效果图 三.基本参数 // ++++++ ...
最新文章
- MurmurHash算法:高运算性能,低碰撞率的hash算法
- python消息订阅_python实现发布订阅
- netty : websocketx.WebSocketHandshakeException: not a WebSocket handshake request: missing upgrade
- PHP学习之六:预定义常量
- Android开发之 shape的使用
- 利用T-SQL动态定义重复SQL Server数据库表行
- android 静态注册wifi广播,Android静态注册广播receiver检测WIFI连接状况变化
- ubuntu16.04根目录扩容
- LUA脚本语言的简介
- 连京东都开始卖翻新机,教你识别手中的iPhone 隐藏id
- 美通企业日报 | 网龙互动白板获德国红点设计奖;芬美意在华开设全球最大食用香精厂...
- 【GlobalMapper精品教程】006:Excel等表格(.xls)或文本(.txt .csv)坐标文件生成矢量点
- java中unicode编码和utf8编码相互转换
- ⚡三十分钟⚡小白写了一个坦克大战无敌版(找素材又花了半个小时/尴尬)
- 多张图片转换成一个swf文件播放
- Clion编辑器的学习与实践之完成stm32F103点亮LED的程序
- foxmail卡顿_电脑卡顿不流畅是什么原因
- Java高手是如何练成的
- 关于SCI-HUB的使用
- 水电站生态下泄流量监测系统解决方案