2017-09-15 82 views

回答

0

PDF規範1.7版是指Technical Note #5116: Supporting the DCT Filters in PostScript Level 2,這解釋了/Filter /DCTDecode忽略了JPEG的JFIF標記(和其他幾個標誌物),它respoects土坯特定APPE標記,其中有一個/ColorTransform場,它可以指定例如從YCbCr(YUV)轉換爲RGB。

如果JPEG流中缺少Adobe特定的APPE標記,則PDF圖像對象的/ColorTransform字段可指定要使用的轉換。如果圖像有3個分量,則默認值爲1,否則爲0。值0表示不轉換,值1表示將YUV轉換爲RGB或將YUVK轉換爲CMYK。

0

這是一個有趣的問題,它轉到了JPEG本質的核心。至於PDF的定義,我無法給你一個答案。爲此,您只需嘗試一下,看看它是否有效。

從JPEG的角度來看,流應該包含一個定義文件格式的APPn標記。沒有那個標記,你的流並沒有說明應該如何重新組裝圖像。

如果沒有文件格式標記,大多數解碼器將假定1分量圖像爲灰度,3分量圖像爲YCbCr。由於這是最常見的做法,剝離APP0標記可能不會導致問題。

+0

謝謝您的澄清!我無法接受你的答案,因爲它沒有回答這個問題。 – pts

+0

PDF對於圖像對象具有流外'/ ColorSpace'定義(通常爲'/ ColorSpace/DeviceRGB'或'/ ColorSpace/DeviceGray')。 '/ Filter/DCTDecode'將一個字節流(一個JPEG文件)轉換爲另一個字節流(每個字節表示一個顏色值)。 '/ ColorSpace/DeviceRGB'用於3分量JPEG,因此濾鏡必須生成RGB三元組。我需要深入挖掘這一點。 – pts