最近发现公司图片库中有些打水印的图片水印色彩和其他的不一样,后来发现是设计师上传的图片的色彩值是CMYK的,想要统一成RGB格式的。
之前使用的是jmagick进行的图片压缩和水印,看了一下jmagick的官方介绍,是有提供转换图片色彩格式的方法。记录一下,给碰到类似问题的同学提供参考。
jmagick的ColorspaceType里面是色彩格式对应的常量。
public static final int GRAYColorspace = 2; public static final int TransparentColorspace = 3; public static final int OHTAColorspace = 4; public static final int XYZColorspace = 5; public static final int YCbCrColorspace = 6; public static final int YCCColorspace = 7; public static final int YIQColorspace = 8; public static final int YPbPrColorspace = 9; public static final int YUVColorspace = 10; public static final int CMYKColorspace = 11; public static final int sRGBColorspace = 12;
将图片创建成MagickImage对象
ImageInfo imageInfo = new ImageInfo(filePath);
MagickImage fromImage = new MagickImage(imageInfo);
然后通过fromImage.getColorspace()可以拿到色彩格式
完整代码
/** * jmagick 将所有图片色彩统一为RGB * @param filePath 原图路径 * @param toFilePath 转换后的图片路径 * @return * @throws Exception */ public static InputStream convert2RGB(String filePath, String toFilePath) throws Exception{ InputStream stream = null; ImageInfo imageInfo = new ImageInfo(filePath); MagickImage fromImage = new MagickImage(imageInfo); if(fromImage.getColorspace() != ColorspaceType.RGBColorspace){ //因为是将所有其他格式转换为RGB格式,需要将当前文件的色彩格式传入 fromImage.transformRgbImage(fromImage.getColorspace()); fromImage.setFileName(toFilePath); fromImage.writeImage(imageInfo); stream = new FileInputStream(toFilePath); return stream; } return new FileInputStream(new File(filePath)); }
相关推荐
内容:【ImageMagick-6.3.9-0-Q16-windows-dll.exe安装文件】【jmagick-win-6.3.9-Q16内有jar包和dll...2、将jmagick.dll文件拷贝到JAVA_HOME\bin目录下 3、讲jmagick.jar包加入自己的工程lib中,按照例子编写代码即可
里面包括jmagick 所需所有文件,jmagick.dll,jmagick.jar 还有安装文件, 以及linux安装说明! jmagick jmagick.jar jmagick资料 jmagick缩略图 jmagick jmagick.jar jmagick资料 jmagick缩略图
压缩包在java下使用jmagick的所有必需工具和安装包,还有使用实例。
Jmagick32位的和Jmagick64位的Jmagick.dll,Jmagick.jar 图片处理必备工具
压缩包在java下使用jmagick的所有必需工具和安装包,还有使用实例。
jmagick.zip
jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理
jmagick.jar 及用法。。。。。。。。。。
jmagick.jar java图像应用
强大的图片处理工具,imagemagick的java接口
jmagick image generate or operator library
jmagick-6.2.4-1-IM-6.2.5.zip
JMagick-6.0.4-0.tar 下载
jmagick处理图片,图片高质量压缩,图片加水印。
JMagick是一个开源API,利用JNI(Java Native Interface)技术实现了对 ImageMagick API的Java访问接口,因此也将比纯Java实现的图片操作函数在速度上要快。
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 jmagick.jar
jmagick-win-6.3.9 java 图片裁剪工具
java 图片放缩结束...防止内存泄露
JMagick图片处理 缩略图 水印 切图 压缩图片
jmagick.jar,ImageMagick.exe,测试过,可用