Java CMYK图片转RGB图片
来源:互联网 发布:农产品成本调查数据库 编辑:程序博客网 时间:2024/05/16 01:03
上传做完了交由测试的时候,反馈说上传失败,自己试了试,都是成功的,于是叫测试人员把图片发给我看看。刚开始以为是图片太大了(2.9M,其实也没多大),我后来用一个3M的图片上传都上传成功了,仔细对比了图片的信息,发现失败的那张是CMYK的颜色样式,就想着转成RGB就完事了:
public class ReadJPEGRaster extends JFrame {static String file = "C:\\Users\\ZhangAo\\Desktop\\example-cmyk.jpg";public static void main(String[] args) throws Throwable {// 找一个readerIterator readers = ImageIO.getImageReadersByFormatName("JPEG");ImageReader reader = null;while (readers.hasNext()) {reader = (ImageReader) readers.next();if (reader.canReadRaster()) {break;}}// 设置input.ImageInputStream input = ImageIO.createImageInputStream(new File(file));reader.setInput(input);// 创建图片.BufferedImage image;try {// 尝试读取图片 (包括颜色的转换).image = reader.read(0);} catch (IIOException e) {// 读取Raster (没有颜色的转换).Raster raster = reader.readRaster(0, null);// 随意选择一个BufferedImage类型.int imageType;switch (raster.getNumBands()) {case 1:imageType = BufferedImage.TYPE_BYTE_GRAY;break;case 3:imageType = BufferedImage.TYPE_3BYTE_BGR;break;case 4:imageType = BufferedImage.TYPE_4BYTE_ABGR;break;default:throw new UnsupportedOperationException();}// 创建一个BufferedImage.image = new BufferedImage(raster.getWidth(), raster.getHeight(), imageType);// 设置图片数据.image.getRaster().setRect(raster);}// 显示图片.new ReadJPEGRaster(image);}ReadJPEGRaster(RenderedImage image) {super();getContentPane().add(new com.sun.media.jai.widget.DisplayJAI(image));pack();show();}}
可惜无法做到无损转换...用ImageMagick的命令行工具倒是可以无损转换,还有据说使用了JNI的jmagick也可以.但是没有权限在服务器上安装..
如果哪位知道其他CMYK无损转RGB的方法(不需要安装其他工具),还请告知..Thank you in advance!
- Java CMYK图片转RGB图片
- cmyk图片转为rgb图片
- java下cmyk图片读取和转换rgb
- Java实现把cmyk格式图片转换为RGB格式图片
- CMYK 简易转 RGB
- C# RGB转CMYK
- Java判断图片是grb还是cmyk
- 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
- 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
- 将CMYK彩色空间的图片转换为RGB彩色空间的图片
- JAVA RGB转CMYK 源码(支持格式转换)
- IE无法显示CMYK图片
- anroid不支持CMYK的图片
- CMYK与RGB相互转换(java)
- RGB图片
- YUV420SP格式图片转RGB
- Java获取图片上每点RGB
- java获得一张图片的rgb值
- C++服务器性能测试几大关注点
- PHP Database ODBC
- 使用ArcGIS API for Flex构建Android和iOS移动地图应用程序
- PHP的比较方式(loose and strict comparison)
- 在Ubuntu下建立opengl的开发环境
- Java CMYK图片转RGB图片
- GBK,GB2312,UTF8是什么?
- IT职场人生系列之三:第一份工作
- 存储过程结果集插入新表
- 枚举进程的几种方法
- ubuntu10.10 : 在wubi下用livecd挽救你的文件(restore file from wubi by liveed)
- C语言中一些不常见的预处理命令
- Matching Impedance: When to use HBase
- Android apk 反编译