C# 用户更改坐标值时如何更改抽绳位置
我计划在图片框上写些东西。在页面加载事件中,我可以做到这一点C# 用户更改坐标值时如何更改抽绳位置,c#,c#-4.0,C#,C# 4.0,我计划在图片框上写些东西。在页面加载事件中,我可以做到这一点 Graphics g = Graphics.FromImage(pictureBox1.Image); Font font = new Font("Courier New", 6); payagainst = "PARADISE TRADING, CONT & REAL ESTATE"; g.DrawString(payagainst, font, new S
Graphics g = Graphics.FromImage(pictureBox1.Image);
Font font = new Font("Courier New", 6);
payagainst = "PARADISE TRADING, CONT & REAL ESTATE";
g.DrawString(payagainst, font, new SolidBrush(Color.Black), pagainstX, pagainstY);
我的要求是在表格ie中有两个文本框,用于说明新绘制标签的X和Y坐标。如果用户更改文本框中的值,则必须根据文本框中给定的值更改标签的位置。在文本框leaveevent中,我编写了如下代码。但它不起作用。实现这一目标的正确方法是什么
private void txtpaX_Leave(object sender, EventArgs e)
{
if (flag != 0)
{
Graphics gs = Graphics.FromImage(pictureBox1.Image);
Font font = new Font("Courier New", 6);
payagainst = "PARADISE TRADING, CONT & REAL ESTATE";
amount = 3300;
gs.DrawString(payagainst, font, new SolidBrush(Color.Black), float.Parse(txtpaX.Text), float.Parse(txtpaY.Text));
flag = 1;
}
}
任何帮助都将不胜感激在图像上打印字符串后会发生什么 您是否需要保存图像或将其传递给他人,或者
PictureBox
中的显示是唯一的目的
对于后一种情况,这是一种方法:
只要文本框
发生更改或离开时,图片框
无效,您就可以将图形代码仅放置在绘制
事件中并调用它
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString(yourText, yourFont, yourBrush,
float.Parse(textBox1.Text), float.Parse(textBox2.Text));
}
// this will show up only after leaving the textbox:
private void textBox_Leave(object sender, EventArgs e)
{
pictureBox1.Invalidate();
}
// this will provide a live change:
private void textBox_TextChanged(object sender, EventArgs e)
{
pictureBox1.Invalidate();
}
请注意,您应该将此代码与两个文本框挂钩
此代码将保留图形,但不会更改实际位图。我想在你知道文本应该放在哪里之前,这是没有意义的
如果要更改实际图像,可以按如下方式执行:
private void stampButton_Click(object sender, EventArgs e)
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
G.DrawString(yourText, yourFont, yourBrush,
float.Parse(textBox1.Text), float.Parse(textBox2.Text));
}
private void saveButton_Click(object sender, EventArgs e)
{
pictureBox1.Image.Save("yourfilename", System.Drawing.Imaging.ImageFormat.yourfileformat);
}
…然后可能会这样保存它:
private void stampButton_Click(object sender, EventArgs e)
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
G.DrawString(yourText, yourFont, yourBrush,
float.Parse(textBox1.Text), float.Parse(textBox2.Text));
}
private void saveButton_Click(object sender, EventArgs e)
{
pictureBox1.Image.Save("yourfilename", System.Drawing.Imaging.ImageFormat.yourfileformat);
}
描述症状或给出错误消息,这样我们就知道什么不起作用了。请查看我给@Leo Answer的评论您解决问题了吗?