2

私の問題は非常に単純ですが、対処できません。私は yin-yang.jpg ファイルを持っていて、丸い形 (残りの四角形はクリックできないはずです) だけを取得したいのですが、全体が白い色から赤い色に変化し、黒い色の部分は除外する必要があります。画像からも(クリック不可)。

その画像は、アプリケーションの開始時に表示したいフォームの背景になります。

private void hello_form_Paint(object sender, PaintEventArgs e)
    {
        Form f = (Form)sender;
        f.BackgroundImage = global::TicTacToe.Properties.Resources.ying_yang1;
        GraphicsPath formPath = new GraphicsPath();
        Rectangle newRectangle = f.ClientRectangle;
        e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);
        newRectangle.Inflate(-5, -5);
        formPath.AddEllipse(newRectangle);
        f.Region = new Region(formPath);

    }

表示するフォームのペイントイベントはそれらを丸くしますが、それは私がしなければならないすべてのことではありません。背景から黒い部分を除外する方法と白い部分を赤いものに変更する方法は?

4

2 に答える 2

1

あなたが説明したことを考えると、次のことがわかるかもしれません:

http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.maketransparent(v=vs.71).aspx

Bitmap.MakeTransparent()調べるのに便利な方法で、画像内の特定の色を透明にすることができます。

于 2013-04-05T12:01:47.553 に答える
1

.png や .gif のような透明な背景を持つファイルを使用する場合、フォームの背景として設定すると、丸い陰陽の形しか見えないはずです。GIMP や Photoshop などで .jpg を簡単に編集して、円の外側で四角形を透明にすることができます。

編集:これはあなたがやろうとしていることですか?

于 2013-04-05T11:44:28.340 に答える