Gdiplus は 64 ビット操作をサポートしていないようです。Gdiplus メソッドを引き続き使用できる簡単な方法は、画像を 2 つの 32 ビット画像に分割し、それらを個別に操作することです。
ARGB チャネルを AARR と GGBB に分割するか、ARGB の下位ビットと上位ビットを持つ 2 つの 32 ビット イメージを使用することができます。
どちらのバリアントでも、ラッピング関数を記述するか、各呼び出しを次のように 2 つの部分に分割する必要があります。
// This is what you want to do (ARGB, 16 bit per channel)
// g.DrawLine(new Pen(Color(0, 65535, 1024, 31), 1, 0, 0, 100, 100);
// AARR GGBB variant
gAARR.DrawLine(new Pen(Color(0,0,255,255), 1, 0, 0, 100, 100);
gGGBB.DrawLine(new Pen(Color(4,0,0,31), 1, 0, 0, 100, 100);
// ARGBhigh ARGBlow variant
gHigh.DrawLine(new Pen(Color(0,255,4,0), 1, 0, 0, 100, 100);
gLow.DrawLine(new Pen(Color(0,255,0,31), 1, 0, 0, 100, 100);
ここでは Color(A,R,G,B) の順序を使用しましたが、よくわかりません。MSDN のドキュメントによると、代わりにこれを Color(R,G,B,A) に変更する必要があります。アルファ チャネルが必要ない場合は、引き続き Color(R,G,B) を使用できるはずなので、highlow バリアントを優先する必要があります。
結果を表示または保存するには、2 つのバッファをマージする必要があります。