23

私が持っているのはR:255 G:181 B:178で、C#で作業しています(より具体的にはWP8の場合)

これを 16 進数に変換して色として使用したいと思います (WriteableBitmap のピクセル色を設定するため)。私がやっていることは次のとおりです。

int hex = (255 << 24) | ((byte)R << 16) | ((byte)G << 8) | ((Byte)B<<0);

しかし、私がこれを行うと、私はただ青くなります。

私が間違っていることはありますか?

また、これを元に戻すには、RGB 値を確認します。

int r = ((byte)(hex >> 16)); // = 0
int g = ((byte)(hex >> 8)); // = 0
int b = ((byte)(hex >> 0)); // = 255
4

5 に答える 5

50

以下を試してください:

using System.Drawing;
Color myColor = Color.FromArgb(255, 181, 178);
string hex = myColor.R.ToString("X2") + myColor.G.ToString("X2") + myColor.B.ToString("X2");
于 2012-11-13T02:51:34.070 に答える
2

これにはColorHelperライブラリを使用できます。

using ColorHelper;
RGB rgb = new RGB(100, 0, 100);
HEX hex = ColorConverter.RgbToHex(rgb);
于 2020-09-21T20:43:07.117 に答える