クックパッド開発者ブログスマートフォン用の表示で見るクックパッド開発者ブログ2015-02-10大量の印刷用画像をウェブ用に変換する方法こんにちは。広告事業部の上田です。今はおもに新広告商品の開発をしていますが、少し前までプロのレシピを開発していました。そのときの話を少し書きます。レシピが見放題、横断検索もできるサービスです。2014年9月にリリースしました。インターネットで公開されているレシピだけではなく、雑誌や本にしかないレシピもたくさん含んでいます。開発中、これらの大量のレシピをどうプロのレシピにインポートするかが問題の一つとなっていました。データは出版社から、基本的にInDesignの形式で受け取りました。テキストはPDFに変換してコピー&ペーストして手で修正という力技で対処しましたが、画像はEPSファイルをウェブ用に変換しなければいけません。印刷用の画像なのでカラーモデルはCMYKです。普通にJPEGに変換しただけだと『IE8以下では見られない』『ChromeやFirefoxで色がかなり変わってしまう』などの問題が起きます。CMYKのサンプル画像を、『Photoshopで適切なカラープロファイルを用いて変換したもの』と『一般的なウェブブラウザで表示したもの』を並べてみると一目瞭然です。Safariが一番マシですが、それでも淡い色合いになっているのが分かりますね。試行錯誤の結果、ある程度の質を保って変換する方法が確立できたので書いておきます。ImageMagickの準備ここから先はMacを想定していますが、WindowsやLinuxでも可能です。HomebrewでImageMagickを入れている場合は先にアンインストールしてください。CMS対応版のImageMagickをインストールしましょう。--with-little-cms2最後にAdobeからICCプロファイルをダウンロードして展開します。使うのはその中のJapanColor2001Coated.iccだけです。Consortiumからダウンロードしましょう。dest.jpg画像の枚数が多いとき複数のファイルを一気に変換する場合はmogrifyコマンドを使いましょう。CPUのコア数分、並列で変換してくれます。リソースを食いつぶすようなら-limitで制限できます。*.epsカラープロファイルは決めうちでいいのか本来、カラープロファイルは画像やInDesignのファイルに結びついたものを使うべきなのですが、往々にして指定されていません。Coated"を指定することで大抵うまくいきます。Coated"はAdobeのデフォルトですし、デファクトスタンダードはまだしばらく続くでしょう。CoatedとsRGBを見ると分かるように、お互いカバー出来ない色域が存在します。このはみ出た部分の色を変換する場合、変換の手法によって圧縮されたり切り捨てられたりします。(Photoshopでは『編集→プロファイル変換→マッチング方法』で切り替え可能)つまり、sRGBからCMYKに変換したあとsRGBに再変換しても、元の色になるとは限らないということですね。まとめ印刷物を扱う機会はそれほど頻繁にはないでしょうが、それだけにノウハウが少なくハマりがちです。CMYKで痛いめにあったらこの記事を思い出してください。使ったセキュリティログ検索基盤の構築サービス特性にあった検索システムの設計戦略クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。/*}*/スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。