投稿

2月, 2015の投稿を表示しています
PDFにおけるCMYKのDCTDecode(JPEG)の色反転について 反転するケースと反転しないケースがあり、反転しない場合と反転する場合の条件とIllustratorにおけるCMYKJpegの扱いについてまとめます。 反転するケースと反転しないケースの別について 基本的には/Type = Image, /Filter = DCTDecodeで色空間がCMYKの場合、各値が「0」を100%の塗り、「255」を0%の塗りとして扱います。 →なのでPDFから該当イメージのデータを引っこ抜くとポジネガ反転したようなJPEGになります。 次に、反転してないCMYKJPEGが貼りこんであるにもかかわらず、Acrobat表示が反転してないケースのコントロールは、イメージオブジェクトの/Decodeエントリでコントロールされます。 Decodeエントリは各色要素の[最小値0, 最大値0, 最小値1, 最大値1, ...... 最小値N, 最大値N]という設定となっています。 CMYKデータの場合、Nは4なのでDecodeエントリの配列には8つの値が設定されている事になります。 もし、Decodeエントリがない場合は、最小値 => 255, 最大値 => 0という扱いになりますが、反転してないCMYKJPEGの場合、Decodeエントリは大抵以下のように設定されています。 /Decode [1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0] 上記の通り、最小値 > 最大値なので各要素の値を反転するという意味になります。 そのため、ポジネガ反転してないCMYKのJPEGでも正しく表示されるということになります。 ※FlateDecodeの場合は、0が素直なのですが、CMYKのJPEGだけそんな扱いになります。 Illustratorでの扱いについて Illustratorでは、PDFファイルをオープンする際、Decodeエントリなんて気にせずに、CMYKのJPEGは必ずポジネガ反転しているという前提でオープンします。 なので、Decodeエントリで反転しているようなCMYKJPEGデータが含まれている場合、Illustrator上では正しく表示されません。