web-dev-qa-db-ja.com

InterfaceBuilderの色が間違っています

問題:Interface Builderで色を設定し、チャンネルをRGBに設定してから、作業ウィンドウのスクリーンショットを作成し、Photoshopで開いて確認します。 InterfaceBuilderで設定したカラーピッカーによる色。結果-RGB値は私が設定したものとは異なります。

ビデオ: http://www.youtube.com/watch?v=ASLfnYHPbqM

最も異常なのは、InterfaceBuilderのカラーピッカーを使おうとした45秒から始まります。 RGB値は、私が同じでインストールしたものとは異なることを示しています)が、カラーピッカーIBの値はカラーピッカーPhotoshopの値と一致しています。

32
user2020909

Appleは、色がどこでも同じRGB値を持つよりも、色はどこでも同じに見えるであることがはるかに重要であると考えています。画面ごとに表示特性が異なるため、同じRGB値が異なる画面で同じように見えるわけではありません。

したがって、スクリーンショットを撮ると、Appleは画像内のすべてのピクセルのRGB値を保存するだけでなく、モニターの表示特性も画像ファイル内に保存します。 ?他の誰かがあなたのスクリーンショットを開いた場合、システムはそれを作成した人のモニター特性を見て、それをそれを見たい人のモニターのモニター特性と比較し、それがどのように必要かを計算することができます- RGB値を採用現在のモニターで画像が同じように見えるように画像でこれを行わずにRGB値を表示しただけの場合、画像の色が正しく表示されない場合があります(場合によってはわずかにしか表示されません) 、場合によってはさらに多く、ユーザーのモニターが非常に悪い場合は、根本的に間違っていることもあります)。

したがって、RGBカラー自体は実際にはカラーを記述しないため、システムは異なるRGB値をグラフィックアダプタに送信します。 RGB値とモニタープロファイルは色を表しますが、RGB値は重要ではなく、色が重要です。何かを赤くする場合は、すべてのモニターで同じ赤の色合いにします。あるモニターでは濃い赤、別のモニターでは明るい赤、3番目のモニターではほぼピンクの赤にしたくありません。

Photoshopの問題は、独自の色補正メカニズムが組み込まれていることです。 Photoshopは通常、sRGB(標準RGB色空間)またはAdobe RGB(Adobeが発明した拡張色空間)で動作します。目的の色空間内にない画像をロードすると、Photoshopは画像の色空間を変換し、すべての色空間変換によってRGB値が変更されます。 Photoshop内に表示される画像は、現在のモニターの色特性に従って色補正されていることに注意してください。別の色空間にあるのはPhotoshop内で操作するRGB値だけであり、ファイルに保存すると、Photoshopは値を元に戻すか変換します。それらを保持し、新しいカラープロファイルを画像ファイルに埋め込みます。

RGBだけを使って色を表現してきた時代は、もう何年も前から終わっています。今日、RGBはそれ自体では意味がなく、カラープロファイルと組み合わせた場合にのみ、実際の色を記述する上で本当に意味があります。

実際のカラープロファイルが埋め込まれていないスクリーンショットが必要な場合は、次の手順を実行します。

  1. 「システム環境設定」を開きます
  2. 「ディスプレイ」に移動します
  3. 「色」に移動
  4. 「汎用RGBプロファイル」を選択します
  5. スクリーンショットを作成する
  6. プロファイルを元に戻す

プロファイルを変更してもすぐに効果があるかどうかわからないため、プロファイルを変更する前に最初にXcodeを終了する(そして元に戻した後に再起動する)必要がある場合があります。モニターでの表示方法には確かにすぐに影響しますが、特定のRGB値を選択してXcodeで色を選択する場合は、プロファイルの変更がここでもすぐに影響するかどうかはわかりません(指定できます)。再起動せずに試してみてください。それでも問題が解決しない場合は、再起動して繰り返す必要があります)。

ただし、Photoshopは色をsRGBまたはAdobe RGBに変換する可能性があるため、これでもPhotoshopで誤った色が発生する可能性があります。したがって、「Generic RGB Profile」を選択する代わりに、「sRGB」プロファイルを選択することもできます(OS Xのバージョンによっては、「sRGBIEC61966-2.1」という名前も付けられます)。このようにして、画像はすでにsRGB色空間にあります。 Photoshopをそのように維持するように説得するだけで(Adobe RGBに変換しないで)、XcodeとPhotoshopで同じRGB値が実際に表示されます。

カラープロファイルを変更すると、ディスプレイの外観がまったく異なることに注意してください。色の変化は劇的だと思いますか?私を信じてください、それは異なるモニターが時々色を変えるかもしれない方法と比較して何もありません。色補正がなぜそれほど重要なのか理解できるかもしれません。だから問題は、そもそもなぜRGB値があなたにとってそれほど重要なのかということです。表示される色が同じである限り、RGB値が同じであることが本当に重要ですか?

53
Mecki

これは ガイド で機能します。次の手順に従うだけで、プログラムでUIColorを設定し、スクリーンショットの色と一致させることができます。

enter image description here

13
KML