2011-09-08 36 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

相关问题