>>620

>今の自分が使っている画面の設定はHigh Color(16ビット)です。

ハイカラー(16ビット)でパレットを扱うソフトを開発するのは
最悪です。true color(24ビットまたは32ビット)に比較すると
色解像度は256分の1です。ですから、RGB() で色を指定しても
カラーマッチングが行われ、システムパレットにマッチングされて
しまいます。純色以外の任意の値で RGB() で Canvas.Pixels[x,y]
で色を置いて、GetRValue(Canvas.Pixels[x,y])、GetGValue()、
GetBValue() してみると、置いた色と同じでない場合があることに
気がつくでしょう。

true color 環境での開発を強くお薦めします。