0

フォームにpictureBoxがあります。そのpictureBoxの真ん中に、選んだ写真の名前を入れました。次に、その選択した名前の背景に色を付けたいと思います。

どうやってやるの?

4

3 に答える 3

20

何を言っているのかわかりませんが、PictureBox のコンテンツは画像です。単純にテキストを表示したい場合は、Label を使用します。特定の背景色が必要な場合は、その BackColor プロパティを目的の色に設定します。

例:

private void Form1_Load(object sender, EventArgs e)
{
    var label = new Label {BackColor = Color.White};
    Controls.Add(label);
}

編集:

上記の Sampath の例の一部を再利用して、ユーザーのコメントに適合させました。

void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    using (var font = new Font("Arial", 14))
    {
        const string pictureName = "Picture.jpg";
        var textPosition = new Point(10, 10);
        //Drawing logic begins here.
        var size = e.Graphics.MeasureString(pictureName, font);
        var rect = new RectangleF(textPosition.X, textPosition.Y, size.Width, size.Height);
        //Filling a rectangle before drawing the string.
        e.Graphics.FillRectangle(Brushes.Red, rect);
        e.Graphics.DrawString(pictureName, font, Brushes.Green, textPosition);
    }
}
于 2012-12-14T14:26:26.550 に答える
0

問題は、プロパティウィンドウで変更するコントロールの背景色プロパティを変更するのと同じくらい簡単かもしれません。

于 2012-12-14T16:19:37.443 に答える
0

以下のサンプルを試すことができます。

フォームにピクチャ ボックスを追加し、Paint イベントのイベント ハンドラーを追加するだけです。

PictureBox でPaint イベントを使用します。e.Graphicsからグラフィック参照を取得し、サンプルにあるDrawString()を使用します。

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    using (Font myFont = new Font("Arial", 14))
    {
        e.Graphics.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new Point(2, 2));
    }
}

これがあなたに役立つことを願っています。

于 2012-12-14T14:26:09.173 に答える