我想实时看水印效果
private void textBox1_TextChanged(object sender, EventArgs e)
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, 24, 26);
//dc.Clear(); //dc.d
dc.Dispose();
this.pictureBox1.Invalidate();
}可是水印打上去在打是重叠的
怎么样打上去在修改文字的时候能把先前的去掉
在打上修改后的文字
private void textBox1_TextChanged(object sender, EventArgs e)
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, 24, 26);
//dc.Clear(); //dc.d
dc.Dispose();
this.pictureBox1.Invalidate();
}可是水印打上去在打是重叠的
怎么样打上去在修改文字的时候能把先前的去掉
在打上修改后的文字
{
this.pictureBox1.Invalidate();
} private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, 24, 26);
}
{
this.pictureBox1.Invalidate();
}private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, 24, 26);
}
这个代码 没效果
关于 平民百姓的
比如this.Invalidate(this.ClientRectangle)
我的代码是这样的 private void textBox1_TextChanged(object sender, EventArgs e)
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, 24, 26);
//dc.Clear(); //dc.d
dc.Dispose();
this.pictureBox1.Invalidate();
}不知道怎么改进
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.Dispose();
this.pictureBox1.Invalidate(pictureBox1.ClientRectangle);
} private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics dc =e.Graphics;
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, pictureBox1.ClientRectangle);
}
你应该重绘控件的工作区,而不是图像的,再说你往图像上写字,也不叫重绘了。
你应该重绘控件的工作区,而不是图像的,再说你往图像上写字,也不叫重绘了。有道理
我只是模拟一个效果就行了
并一定是一定要在图片上打上文字
我本来是TEXTBOX控件放上面来模拟的
因为有背景所以不好看
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.Dispose();
this.pictureBox1.Invalidate(pictureBox1.ClientRectangle);
}private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics dc =e.Graphics;
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, pictureBox1.ClientRectangle);
}你的代码在textBox1_TextChanged的时候是可以触发pictureBox1_Paint事件的
但是文字没写上去
也没有清除效果
{
Graphics dc = Graphics.FromImage(this.pictureBox1.Image);
dc.Dispose();
this.pictureBox1.Invalidate(pictureBox1.ClientRectangle);
}private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics dc =e.Graphics;
dc.DrawString(this.textBox1.Text, new Font("新宋体", 32), Brushes.Red, pictureBox1.ClientRectangle);
}的代码是对的
谢谢了