@ledsun blog

無味の味は佳境に入らざればすなわち知れず

背景色を薄くする

背景色を薄くするためにRGBを変更します。

int oldColor = BackColor.ToArgb();
int r = (oldColor & 0x00FF0000) >> 16;
int g = (oldColor & 0x0000FF00) >> 8;
int b = oldColor & 0x000000FF;

int addValue = 20;
r = (r + addValue) > 0xFF ? 0xFF : r + addValue;
g = (g + addValue) > 0xFF ? 0xFF : g + addValue;
b = (b + addValue) > 0xFF ? 0xFF : b + addValue;

BackColor = Color.FromArgb(r, g, b);

シフト演算子は論理積演算子より優先順位が高いので注意してください。