C# 影像處理(六)—— 添加文字

來源:互聯網
上載者:User

添加文字的實現我個人認為是不涉及到對像素的處理的,也就是說沒有像之前四個影像處理的例子那樣,利用同樣的原理去實現。而對於添加文字那裡,主要是通過利用平時經常接觸到的設定文字樣式對話方塊來完成其中的一部分。算了,還是貼上代碼會更有靈感去寫東西,我已經開始覺得自己在語無倫次了。

   在圖片中添加文字,使用者所面對的過程就是,先在一個TextBox控制項裡面填寫想要添加的文字,再利用一個Button控制項來設定一下文字的樣式,最後點擊圖片想加入文字的地方,基本的流程就是這樣。

 

   好了,對於一個程式員來說,就要先利用一個TextBox和一個Button控制項,在Button的事件裡添加類似的代碼,

    fontDialog.ShowColor = true;//顯示顏色選擇對話方塊
    if (this.fontDialog.ShowDialog() == DialogResult.OK)
    {//當設定好了字型的某些屬性之後
        textBox.Font = fontDialog.Font;//設定文字字型
        textBox.ForeColor = fontDialog.Color;//設定文字的字型顏色

    }

    這樣就算是完成了字型設定的部分,當設定完之後,TextBox裡面的文字就是你所設定了的樣式的文字了。

    接下來就是通過觸發滑鼠的MouseUp事件來完成添加文字的操作,實現代碼類似如下,

    /// <summary>
    /// 在圖片中添加文字
    /// </summary>
    private void pictureBox_MouseUp(object sender, MouseEventArgs e)
    {

        if (this.pictureBox.Image.Width < 1)
        {//基本的判斷還是要的

            return;
        }
        Graphics gra = Graphics.FromImage(this.pictureBox.Image);//要進行處理的圖片對象
        SolidBrush brush = new SolidBrush(this.textBox.ForeColor);//初始化畫筆
        gra.DrawString(this.textBox.Text, this.textBox.Font, brush, e.X, e.Y);//處理圖片
        this.pictureBox.Refresh();//對顯示圖片的容器裡面的內容進行重新整理,以便及時顯示添加的文字
    }

 

    原理就差不多就這些了,這些代碼是我程式裡面的部分原始碼,所以是沒有經過測試的,不過應該是沒有什麼問題的,除了少加了命名空間外,影像處理的代碼通常都是要添加using System.Drawing;的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.