`
牧羊人
  • 浏览: 215487 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CMYK与RGB相互转换(java)

    博客分类:
  • java
阅读更多
package util;

import java.awt.*;
import javax.swing.*;
import java.awt.color.*;

public class ColorTranslate {
  ICC_Profile ICC_pf;
  ICC_ColorSpace ICC_ClSpace;
//以下变量存储CMYK颜色值,取值为0到100
  int C = 9;
  int M = 9;
  int Y = 9;
  int K = 9;

//初始化ICC_Profile和ICC_ColorSpace类对象
  public ColorTranslate() {
    String Filename = "CMYK.pf";
    GetICCFrompfFile(Filename);
  }

  void GetICCFrompfFile(String Filename) {
    try {
      ICC_pf = ICC_Profile.getInstance(Filename);
    }
    catch (Exception e) {
      JOptionPane.showMessageDialog(null,
                                    "Can''t create ICC_Profile");
    }
    ICC_ClSpace = new ICC_ColorSpace(ICC_pf);
  }

  //由RGB色彩空间变换到CMYK
  public float[] RGBtoCMYK(Color RGBColor) {
    float[] CMYKfloat = ICC_ClSpace.fromRGB
        (RGBColor.getRGBComponents(null));
    C = (int) (CMYKfloat[0] * 100);
    M = (int) (CMYKfloat[1] * 100);
    Y = (int) (CMYKfloat[2] * 100);
    K = (int) (CMYKfloat[3] * 100);
    return CMYKfloat;
  }

//由CMYK色彩空间变换到RGB
  public Color CMYKtoRGB(float[] CMYKfloat) {
    Color RGBColor = new Color(ICC_ClSpace,
                               CMYKfloat, 1.0f);
    return RGBColor;
  }

  public Color CMYKtoRGB() {
    float[] CMYKfloat = new float[4];
    CMYKfloat[0] = 0.01f * (float) C;
    CMYKfloat[1] = 0.01f * (float) M;
    CMYKfloat[2] = 0.01f * (float) Y;
    CMYKfloat[3] = 0.01f * (float) K;
    Color RGBColor = new Color(ICC_ClSpace, CMYKfloat, 1.0f);
    return RGBColor;
  }
}

//需要下载CMYK.pf文件 

//ColorTranslate CMYKtoRGB = new ColorTranslate();
//float[] CMYKfloat = new float[4];
//CMYKfloat[0] = 0.01f * (float) Integer.valueOf(strCMYK.substring(0,2),16).intValue();//C
//CMYKfloat[1] = 0.01f * (float) Integer.valueOf(strCMYK.substring(2,4),16).intValue();//M
//CMYKfloat[2] = 0.01f * (float) Integer.valueOf(strCMYK.substring(4,6),16).intValue();//Y
//CMYKfloat[3] = 0.01f * (float) Integer.valueOf(strCMYK.substring(6,8),16).intValue();//K
//Color color = CMYKtoRGB.CMYKtoRGB(CMYKfloat);
//color.getRED(); 

分享到:
评论
1 楼 linginfanta 2010-03-16  
代码没有写完。

相关推荐

    用Java语言实现RGB与CMYK色彩空间的转换

    本教程将详细介绍如何使用Java语言进行RGB与CMYK之间的转换。 首先,了解RGB和CMYK的基本原理。RGB模型基于三种原色——红色、绿色和蓝色,通过不同强度的组合可以产生各种颜色。CMYK模型则由四种原色——青色...

    java 图片转换 cmyk转换rgb ie6,7,8无法显示cmyk格式的jpg图片

    还在为ie无法显示cmyk格式的jpg图片烦恼吗。本代码完全完整cmyk转rgb 严格经过测试

    java 实现cmyk转rgb

    java 实现cmyk转rgb,用ImageMagick转换需要额外安装软件,这个不需要安装额外软件

    RGB与CMYK颜色值转换工具

    RGB与CMYK之间的转换涉及到色彩空间的变换。在从RGB转为CMYK时,需要考虑到RGB的加性颜色模型和CMYK的减性颜色模型之间的差异。这个过程通常由色彩管理软件完成,它会根据特定的色彩配置文件来模拟油墨在纸张上的...

    Java实现RGB与CMYK色彩空间的转换

    在探讨Java编程语言实现RGB与CMYK两种色彩空间转换的知识点时,首先要了解RGB和CMYK色彩模式的基本概念及其在计算机图形学中的应用。 RGB色彩模式是一种加色模型,用于电子设备,如显示器、电视和相机。RGB分别代表...

    pdf文件RGB转CMYK

    通过上述步骤,可以有效地将PDF文件的颜色模式从RGB转换为CMYK,以满足印刷工作的要求。整个转换过程不仅需要合适的软件工具,还需要对色彩管理有深刻的理解,以确保最终输出的质量。在设计和印刷的每个阶段,准确和...

    Android 将一张CMYK模式的图片转换成RGB模式的图片

    本篇文章将详细探讨如何将一张CMYK(青、洋红、黄、黑)模式的图片转换成RGB(红、绿、蓝)模式的图片。我们将基于一个名为`android-lib-magick-master`的开源库进行讲解。 CMYK是一种颜色模型,主要用于印刷行业,...

    ISOcoated_v2_300_eci.icc 以及cmyk转rgb图jar包

    这个压缩包文件包含两个关键组件,它们是进行CMYK到RGB转换的重要工具: 1. `ISOcoated_v2_300_eci.icc`:这是一个ICC(国际色彩联盟)配置文件。ICC配置文件是一种标准化的方式,用来描述色彩设备(如打印机、...

    RGB与CMYK色彩空间的转换.rar

    在“source”这个文件中,可能包含了实现RGB与CMYK转换的Java源代码。学习并理解这段代码可以帮助我们深入掌握色彩空间转换的原理和实现方法。对于Java程序员来说,能够理解和运用这些知识,不仅可以提升编程技能,...

    读取Tiff文件中CMYK色彩模式存储的图像数据,并转换为RGB色彩模式

    本主题将深入探讨如何读取使用CMYK色彩模式存储的Tiff文件中的图像数据,并将其转换为更常见的RGB色彩模式。 TIFF(Tagged Image File Format)是一种灵活的位图图像格式,广泛用于印刷和扫描领域,因为它支持多种...

    cmyk图片转为rgb图片

    在实际应用中,进行CMYK到RGB转换的原因可能有多种,例如,某些在线平台只接受RGB格式的图像,或者为了确保在屏幕上预览的颜色与最终打印效果尽可能一致。转换过程中可能会出现色差问题,因此需要对色彩进行校准,...

    不同色度空间的相互转换,java代码,含说明

    2. CMYK到RGB转换:与RGB到CMYK相反,通过CMYK的百分比计算出对应的RGB值。这个过程涉及到色彩空间的逆变换,需要精确计算。 3. RGB/CMYK到HSV/HSL:这两种色度空间都是为了更好地表达人类对颜色的感知。HSV(色调...

    Image读取CMYK和Tif 报错的解决办法

    CMYK(青、洋红、黄、黑)是用于印刷的颜色模式,与我们常见的RGB(红、绿、蓝)模式不同,RGB主要用于屏幕显示。TIFF(Tagged Image File Format)是一种灵活的位图格式,支持多种色彩模式,包括CMYK,广泛用于专业...

    RGB.rar_rgb _rgb 颜色空间_简洁颜色RGB_获取 图像 rgb

    此外,算法可能还提供了过滤、平均或转换颜色空间的功能,例如将RGB转换为HSB(色相、饱和度、亮度)或CMYK(青色、洋红、黄色、黑色)等,以便进行色彩分析或调整。 在实际应用中,RGB颜色模型被广泛用于图像编辑...

    Android获取图片的RGB值

    为了进一步处理RGB值,我们可以进行色彩空间转换,例如将RGB转换为HSV(色相、饱和度、亮度)或YUV(亮度、色差)等,以适应不同的应用场景,比如图像识别、色彩分析等。 在实际应用中,获取图片RGB值可能涉及性能...

    ConvertRGBintoCMYK:该程序将RGB(红,绿,蓝三种颜色的光)转换为CMYK(青色,品红色,黄色和基调)

    该程序将RGB转换为CMYK。 其中RGB的比例为0到255,CMYK的比例为0.0到1.0。 首先,该程序具有RGB和CMYK的两个数组,最大数量为100。要从文件“ colors.txt”填充RGB数组。 我使用hasNext方法更改行,并且for循环也...

    ColorCode_java.zip_颜色转换

    1. **RGB到CMYK转换**:RGB到CMYK的转换主要用于将屏幕上的颜色转换为打印颜色。CMYK是一种减性颜色模型,适用于油墨在纸张上的表现。转换过程中要考虑颜料的混合特性,因为CMYK颜色是通过吸收光线而非发射光线来...

    基于Java的图片色彩空间转换工具.zip

    本项目是一个基于Java的图片色彩空间转换工具,主要用于将图片从RGB模式转换为CMYK模式,并支持调整图片的DPI(每英寸点数)。该工具适用于需要进行高质量打印的场景,如海报制作等。 项目的主要特性和功能 1. ...

    java2D Java Java Java

    Java 2D还支持色彩空间转换,如RGB到CMYK,以及渐变色的绘制,如线性渐变和径向渐变。 文本渲染在Java 2D中也有着高级支持。`Font`类允许开发者定义字体的样式、大小和类型,可以创建出复杂的排版效果。Java 2D还...

    Java 2D API 中文使用指南

    Java 2D提供了丰富的颜色处理机制,包括RGB颜色模型、CMYK颜色模型等。开发者可以利用这些机制来实现精细的颜色控制。 - **颜色模型**:Java 2D支持多种颜色模型,可以根据需求选择合适的模型。 - **颜色填充**:...

Global site tag (gtag.js) - Google Analytics