簡體   English   中英

如何在圖片框上繪制文字?

[英]How to draw text on picturebox?

我搜索了“在Picturebox C#上繪制文本”,但找不到任何有用的東西。然后我搜索了“在C#窗體上繪制文本”,我發現了一些代碼,但是它無法按我希望的方式工作。

    private void DrawText()
    {
        Graphics grf = this.CreateGraphics();
        try
        {
            grf.Clear(Color.White);
            using (Font myFont = new Font("Arial", 14))
            {
                grf.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new PointF(2, 2));
            }
        }
        finally
        {
            grf.Dispose();
        }
    }

當我調用該函數時,表單的背景顏色變為白色(默認為黑色)。

我的問題:

1:這項工作會在圖片框上進行嗎?

2:如何解決問題?

您不希望對Clear()的調用-這就是為什么它將背景變白,並且它將掩蓋您的圖片的原因。

您要在PictureBox中使用Paint事件。 您從e.Graphics獲取圖形參考,然后使用示例中具有的DrawString()。

這是一個樣本。 只需將一個圖片框添加到您的窗體,並為Paint事件添加一個事件處理程序:

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));
    }
}

(請注意,在設計時您不會看到文本-您必須運行該程序才能進行繪制)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM