工业标准色
工业标准色
ISOcoated_v2_300_eci.icc 是一个工业的色彩标准文件。
- CMYK 也称作印刷色彩模式。它和 RGB 相比最大不同是,RGB 模式是发光的色彩模式,你在一间黑暗的房间内仍然可以看见萤幕上的内容。
- CMYK 是一种依靠反光的色彩模式,我们能阅读报纸的内容是为什么呢?是因阳光或灯光照射到报纸上,再把内容反射到我们的眼中。
CMYK 是需要有外界光源的情况下才可以看到的。所以在黑暗房间内是无法阅读的。只要是在印刷品上看到的图像,就是 CMYK 模式表现的。
<dependency>
<groupId>javax.media.jai</groupId>
<artifactId>com.springsource.javax.media.jai.codec</artifactId>
<version>1.1.3</version>
</dependency>
class A{
/**
* 将图片为 rgb 转化为 cmyk
* @param inputStream 图片输入流
* @param fileName 图片名词(绝对路径)
* @param newFileName 图片保存路径(绝对路径)(如果没有参数,则生成的图片在当前目录下,且格式为tif)
*/
public static void rgbToCmyk(InputStream inputStream,String fileName,String...newFileName) throws IOException{
BufferedImage rgbImage = ImageIO.read(inputStream);
BufferedImage cmykImage = null;
ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(TestImageBinary.class.getClassLoader().getResourceAsStream("ISOcoated_v2_300_eci.icc")));
ColorConvertOp op = new ColorConvertOp(rgbImage.getColorModel().getColorSpace(), cpace, null);
cmykImage = op.filter(rgbImage, null);
if(newFileName.length>0&&newFileName[0]!=null) {
String targetFileName=fileName.substring(0,fileName.lastIndexOf(".")+1)+"tif";
JAI.create("filestore", cmykImage,targetFileName,"TIFF");
cmykImage.flush();
base64StringToImage(targetFileName,newFileName[0]);//转成对应格式
File file=new File(fileName);
if(file.exists())
file.delete();
}else {
String targetFileName=fileName.substring(0,fileName.lastIndexOf(".")+1)+"tif";
JAI.create("filestore", cmykImage, targetFileName, "TIFF");
}
}
}
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY