2011-09-08 41 views
-4

我想在圖片框頂部繪製可編輯的文本框,並允許用戶在此框中輸入文本。輸入文本後,文本框應消失,輸入的文本應該畫在圖片框中的圖片上。請幫助我,我正在用c#做這件事。如何在c中的圖片框頂部繪製可編輯的文本框

Bitmap myBitmap = new Bitmap("C:\\myImage.jpg"); 
Graphics g = Graphics.FromImage(myBitmap); 
g.DrawString("My\nText", new Font("Tahoma", 20), Brushes.White, new PointF(0, 0)); 

林仍堅持這一

+0

哪部分是你遇到問題? – DevDelivery

+0

我在繪製圖片框上的文本框時遇到問題 – rainbower

+0

WinForms或WPF?我們真的需要知道才能提供答案。 –

回答

2

我認爲你對「繪圖」與「可編輯」部分混淆不清。

這聽起來像你只是想使用一個文本框。 「基本」示範:

private Bitmap bmp = new Bitmap(256, 256); 

private void Form1_Load(object sender, EventArgs e) 
{ 
    pictureBox1.Image = bmp; 
} 

private void pictureBox1_MouseDown(object sender, MouseEventArgs e) 
{ 
    TextBox txt = new TextBox(); 
    txt.Location = e.Location; 
    txt.Width = 120; 
    txt.Leave += new EventHandler(txt_Leave); 
    pictureBox1.Controls.Add(txt); 
} 

void txt_Leave(object sender, EventArgs e) 
{ 
    using (Graphics g = Graphics.FromImage(bmp)) 
    { 
    g.DrawString(((TextBox)sender).Text, ((TextBox)sender).Font, Brushes.Black, ((TextBox)sender).Location); 
    } 
    ((TextBox)sender).Leave -= new EventHandler(txt_Leave); 
    pictureBox1.Controls.Remove((TextBox)sender); 
    ((TextBox)sender).Dispose(); 
    pictureBox1.Invalidate(); 
} 
+0

謝謝但它有一些錯誤 – rainbower

+0

@rainbower而錯誤是?這只是我認爲您試圖根據您的帖子和您的評論實現的功能的基本示例。 – LarsTech

+0

編號檢查零件'txt.location = e.Location' – rainbower

相關問題