如何在ColdFusion(Java)中將圖像在CMYK和RGB之間轉換?


Answers

將CMYK轉換為RGB忽略所有顏色配置文件的一個非常簡單的公式是:

    R = ( (255-C)*(255-K) ) / 255;
    G = ( (255-M)*(255-K) ) / 255;
    B = ( (255-Y)*(255-K) ) / 255;

此代碼要求CMYK值在0-255的範圍內。 如果你有0到100或0.0到1.0,你將不得不轉換的價值。

希望這會讓你開始。

至於java和ColdFusion接口,我很抱歉,但我不知道該怎麼做。

Question

我有一個需要將圖像從CMYK轉換為RGB - 不一定回來,但嘿,如果可以做...

隨著ColdFusion 8的發布,我們得到了CFImage標籤,但它不支持這種轉換; Image.cfcAlagad的圖像組件也是如此

但是,在Java中應該是可能的。 我們可以通過CF來利用。 例如,下面是如何創建一個Java線程來睡眠一個進程:

<cfset jthread = createObject("java", "java.lang.Thread")/>
<cfset jthread.sleep(5000)/>

我猜想類似的方法可以用來利用java來做這個圖像轉換,但不是一個Java開發人員,我不知道從哪裡開始。 任何人都可以幫忙嗎?




我知道這個問題是舊的,但我仍然遇到與CMYK圖像和ColdFusion的問題。 不過,我只是用ColdFusion 10讀取一個CMYK JPEG圖像並重新保存。 保存的圖像能夠被讀取使用ColdFusion 9(它只能夠讀取RGB JPEG)。我不知道這種轉換是否有意為之,我目前還沒有任何方法來確定源圖像顏色配置文件是CMYK或不是保存的顏色配置文件仍然是相同的。

<cfset imgData = ImageRead(expandPath("./CMYK_image.jpg"))>
<cfset ImageWrite(imgData, expandPath("./Saved_image.jpg"))>