カーソルが白よりも白くなるのはなぜですか?

カーソルが白よりも白くなるのはなぜですか?

最近、カーソルが背景の白 (純粋な 0xFFFFFF) よりも白くなっていることに気づきました。スクリーンショットを撮ると背景とカーソルの両方が 0xFFFFFF にあることがわかったので、最初は目の錯覚だと思いました。その後、カーソルの写真を撮ったところ、明るさの違いがはっきりとわかりました。

カーソルの写真

平均輝度をよりよく確認するために、画像にモザイク フィルターを適用しました。

モザイクフィルターをかけたカーソルの写真

矢印の内側は約 191 グレー (0xBF) で、背景は約 177 グレー (0xB1) です。つまり、カーソルの白は背景の純白よりも約 8% 明るいということです。

これはどのハードウェアでどのように実行されていますか? カラー情報はチャネルあたり 8 ビット以上で送信されていますか?

コンピューターは Windows XP で、HDMI ケーブルを介して Samsung 5100 TV に接続された NVIDEA GeForce 8500 GT グラフィック カードが搭載されています。

別の写真:

2つのカーソルと影付きの四角形

ハードウェア カーソル 1 つ、ハードウェア カーソルのスクリーンショット 1 つ、および 2x2 ブロック内の 0 から 0xFF までの各グレー スケール値の 16x16 の正方形。

2 つのカーソルとモザイク フィルター付きの影付きの四角形

前の画像と同じですが、モザイク フィルターが適用されています。実際のカーソルと写真のカーソルのスクリーンショットがどれであるかは明らかです。今回の明るさは 185 と 170 で、まだ約 8% の差があります。カラー ピッカーを使用すると、写真の 170 の色は画面上では 0xFFFFFF になります。カーソルの真下の色をサンプリングするため、カーソル自体にカラー ピッカーを使用することはできません。

答え1

Psychogeek の回答で述べられているように、これはオペレーティング システムによるカラー プロファイル設定の問題です。

カラー プロファイルは、アプリケーション、オペレーティング システム、ビデオ カード、およびディスプレイ ハードウェアによって適用できます。

Windows の OS カラー プロファイルの場合、ビデオ カードに送信されると、カラー プロファイルは画面イメージとは異なる方法でカーソルに適用されます。そのため、カラー プロファイルによってホワイト ポイントが変更されると、異なる色になることがあります。この場合、カーソルは真の白として送信され、その下のイメージにはカラー プロファイルが適用され、ホワイト ポイントが低いレベルに変更されます。

カーソルは、残りの表示データとは別にビデオ カードに送信され、ディスプレイに送信される前に、レンダリング中の後の段階でビデオ カードによってミックスされます。

簡単に言えば:

[Cursor Draw]   --   --   --   --   --   --   --
                                               ˅
[Windowing] --> [OS Profile] --> [Video Driver] --> [Video Card] --> [Hardware Profile] --> ...

スクリーンショットはウィンドウの段階でキャプチャされるため、OS カラー プロファイルは「ショット」データに適用されません。通常、スクリーンショット キャプチャでは、OS プロファイルが適用される前にキャプチャされるため、カーソルは表示されません。ただし、画面をキャプチャするために使用した特定のツール (おそらくこれを使用します) では、ビデオ カードと同じように、カーソルが画像上に混ざります。カーソルと背景の白レベルはどちらも 100% であるため、スクリーンショットでは両方の白レベルが同じになります。

表示されている通常の動作は、色調整用のハードウェアLUTを備えたモニターまたはビデオカードを使用するか、カーソルの描画を別のレンダリングポイントで強制的に実行することで修正できます。こちらを参照してください。Photo.SEの質問カーソル画像を編集して、白レベルを変更することもできます。ただし、カーソルが画面上でより目立つようになると思います。

答え2

この回答は、デジタルでは物事が 1:1 ではない理由の分析から始まり、実際の質問に基づいて物事を変更できる可能性のある方法で終わります。

  • カメラで写真を撮ると、すべてのセンサーデータが処理されます。
  • そして、圧縮されて死んでしまいます。
  • その後、1:1 でコンピューターに移動します。
  • OS のカラー プロファイルによって調整されて表示される場所。
  • ビデオ カード上にデジタルで描画されるため、ユーザーが調整できるだけでなく、独自のカラー トリックが備わっている場合もあります。
  • モニターに1:1で送信します。
  • ディスプレイパネルにする前に、処理中に完全に攻撃される可能性があります。
  • ディスプレイパネル自体では、すべての側面をレンダリングすることはできません。
  • バックライトの色は、バックライトが発する色のスペクトルに基づいて、大きな割合で変化します。

この場合、カーソルは (おそらく) ビデオ カード ハードウェアにオーバーレイされたハードウェア レンダリング アイテムです。カーソルを変更するために最初に確認または調整する必要があるのは、モニター プロファイルと、OS が適用したカラー プロファイルです。カラー プロファイルは、コントロール パネルの [すべてのコントロール パネル項目]、[色の管理] にあります。そこには、モニター自体に到達する前に色を変更するカラー プロファイルがあります。
プロファイルは無効にできるので、その効果を確認できます。

ビデオ カード ソフトウェアの調整。デスクトップ、3D、ビデオ直接描画はすべて制御可能です。これらのものがビデオ カード ソフトウェアで調整されていない場合でも、すべてを 0 0 0 に設定しても、何らかの処理が残っている可能性があります。実際に気にする理由がある場合は、カーソル オーバーレイに合わせて使用​​してみてください。

ビデオ カードはハードウェアでレンダリングされたカーソルをオーバーレイしますが、背景の残りの部分と同じパラメータは使用しません。これが動作の仕組みです。

--コントロール画像に基づくと、残りはどれもこの特定の質問には当てはまりません--

もう一つの可能​​性はモニターの設定ですが、これはあまり起こりません。モニターやテレビの自動コントラスト、自動カラー項目は、非常に明るい部分や暗い部分のバランスを崩し、望ましくない変化を引き起こすことがあります。モニターの自動カラー調整とレベル調整は常に調整可能であるとは限らず、その動作にはさまざまなかわいい名前が付けられています。

ゲーム、映画、デスクトップなどのモニターのプロファイル、またはプロファイルに使用される名前は何でも、選択されたプロファイルに有用であると見なされる特定の色、コントラスト、および明るさの設定を設定しますが、適切なプロファイルを選択した場合でも、望ましくない変更が行われる可能性があります。

カメラのシャープニング アルゴリズム (ビデオ ディスプレイ カードではなく、モニター内) は、元のコントラストを高める、または (もちろん) 低下させる領域の周囲にハイライトのマトリックスを作成する可能性があります。この質問では、2 つの異なる処理でない限り、白がシャープニング マトリックスが適用されるピクセルを超えて拡張されるため、可能性は低くなります。

ソフトウェアが実際には真っ白な背景である必要はなく、調整可能な場合、リストはさらに長くなります。OS とプログラムの背景は白ではない場合がありますが、元のデスクトップまたはプログラムで背景の色を選択した場合、この質問ではそうではないことが既にわかっています。

デスクトップでカラー ピッキングを行うと、そこに存在するピクセル (または複数のピクセル) の色が表示され、プログラムが表示している内容についての事実がユーザーに提供されます。カラー ピクチャは、カラー プロファイルが出力を調整する前に表示されます。そのため、カラー ピッキングは実際の色を見つけるのに優れた方法です。その後、色は再び処理されます。

カーソルを重ねて画面をキャプチャするプログラムがあります。そのプログラムから色を選択することができますが、カーソルは別の方法で描画され、他の部分と同じように処理される可能性があります。したがって、カーソルを含めて画面のソフトウェア デジタル キャプチャを行うことは可能ですが、実際に表示される内容が変わる可能性があります。

関連情報