使用Java上传图片经过压缩处理图片变色问题
来源:互联网 发布:游泳 圈数 淘宝 编辑:程序博客网 时间:2024/05/16 15:50
图片经过压缩处理后变色问题
解决方案:
代码示例
//开始处理图片,避免图片压缩之后出现变色情况 int[] RGB_MASKS = {0xFF0000, 0xFF00, 0xFF}; ColorModel RGB_OPAQUE = new DirectColorModel(32, RGB_MASKS[0], RGB_MASKS[1], RGB_MASKS[2]); java.awt.Image OrgImg = Toolkit.getDefaultToolkit().createImage(tempFile.getFile().getAbsolutePath()); PixelGrabber pg = new PixelGrabber(OrgImg,0,0,-1,-1,true); pg.grabPixels(); int width = pg.getWidth(); int height = pg.getHeight(); DataBuffer buffer = new DataBufferInt((int[])pg.getPixels(),pg.getWidth()*pg.getHeight()); WritableRaster raster = Raster.createPackedRaster(buffer,width,height,width,RGB_MASKS,null); BufferedImage image = new BufferedImage(RGB_OPAQUE,raster,false,null); /*处理结束*///BufferedImage image = Images.read(tempFile.getFile()); ByteArrayOutputStream out = new ByteArrayOutputStream(); Images.writeJpeg(image,out,0.8f); dao.update(UserProfile.class, Chain.make("original",out.toByteArray()),Cnd.where("uid","=",userId)); // 按比例缩放图片 60 * 60 image = Images.zoomScale(image,60,60, Color.WHITE); out = new ByteArrayOutputStream(); Images.writeJpeg(image,out,0.8f); userProfile.setAvatar(out.toByteArray()); dao.update(userProfile,"^avatar$");
代码基于Nutz1.58开发
0 0
- 使用Java上传图片经过压缩处理图片变色问题
- 解决java 图片压缩图片图片变色问题
- Java图片上传压缩处理
- Java图片上传压缩处理
- java图片上传压缩处理
- Java图片上传压缩处理
- Java图片上传压缩处理
- Java图片上传压缩处理
- Java图片上传压缩处理
- Java图片上传压缩处理
- Java图片上传压缩处理
- 图片上传压缩处理
- 图片上传压缩处理
- 图片上传压缩处理
- 图片上传压缩处理
- 图片上传处理 图片压缩 图片处理
- java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题
- java下载远程http地址的图片文件到本地-自动处理图片是否经过服务器gzip压缩的问题
- [Java并发包学习六]Semaphore介绍
- 第十四周项目一 平衡二叉树
- 第十六周 项目1(7)冒泡排序
- spark与storm的对比
- Poj_1753 Flip Game(状态压缩,bfs)
- 使用Java上传图片经过压缩处理图片变色问题
- 第16周项目1-验证算法(2)希尔排序
- 用java写一个函数,实现Fibonacci数列算法(1,1,2,3,5,8,13......)
- Oracle分析函数(每组数据取一条记录)
- linux 添加分组及用户、权限设置、权限数字解析
- 第十五周 项三 B-树的基本操作
- Charles 4.0.1 的安装和设置
- 第十六周项目2—大数据集上排序算法性能的体验
- 处理url传参中文乱码问题