6

2 つの色から中間色を生成したいと思います。

Color Middle = Color.FromRGB(Color.FromRgb( Color1.R + Color2.R) / 2, (Color1.G + Color2.G) / 2, (Color1.B + Color2.B) / (2);

FromRGB()が必要なため、このコードはコンパイルされませんbyte

だから私はこれを試しました:

Color myColorMiddle = Color.FromRgb((byte)(Color1.R + Color2.R) / (byte)2, (byte)(Color1.G + Color2.G) / (byte)2, (byte)(Color1.B + Color2.B) / (byte)2);

しかし、同じエラーが発生します。誰でも私を助けてもらえますか?

4

2 に答える 2

4

System.Windows.Media.Color を使用している場合は、次のようにできると思います。

  Color start = Color.FromRgb(255, 0, 0);
  Color end = Color.FromRgb(0, 255, 0);
  Color middle = start + (end - start) * 0.5F;

注、私はこれを試していませんが、MSDN から取得しました:

http://msdn.microsoft.com/en-us/library/system.windows.media.color.aspx

アップデート

最新の編集をテストしましたが、動作します。

于 2013-04-12T21:28:21.683 に答える