Windows で C++ プログラムから GD (具体的には bgd.dll) を使用して TrueColor イメージを出力しようとしています。API (または少なくとも例) は、gdResolveColor の整数 RGB 引数の範囲が値 0 ~ 255 に及ぶことを示唆しているようです。これは正しいです?
より高い値を試してみたところ、奇妙な結果が得られましたが、これは私の理解不足が原因である可能性があります。
それは正しいです。True Color では、各色コンポーネント (赤、緑、青) に 1 バイトが使用されます。1 バイトの範囲は 0 から 255 であるため、GD のドキュメントに示されている範囲です。したがって、これらの 3 バイト (24 ビット) を使用して、16,777,216 (2^24 または 256^3) の異なる色を指定できます。
GD が無効な入力 (つまり、255 を超える色成分) をどのように処理するかはわかりません。入力をマスクする可能性が高く、送信された値はモジュロ 255 になります。