C#窗口程序中输入坐标画点的问题
通过文本框输入坐标,点击“确定”按钮从而在picturebox中的图片上显示一点,当再输入一个新坐标点“确定”后,怎么清除旧的点,只保留新做的点?...
通过文本框输入坐标,点击“确定”按钮从而在picturebox中的图片上显示一点,当再输入一个新坐标点“确定”后,怎么清除旧的点,只保留新做的点?
展开
展开全部
Point m_Pnt;
public Form1()
{
InitializeComponent();
m_Pnt = new Point( -1, -1 );
pictureBox1.MouseClick += new MouseEventHandler(pictureBox1_MouseClick);
pictureBox1.Paint += new PaintEventHandler(pictureBox1_Paint);
}
void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
// 这里模仿文本框修改坐标点,同时刷新下picturebox,鼠标点哪里,哪里就会画一个红点
m_Pnt = e.Location;
pictureBox1.Invalidate();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillEllipse( Brushes.Red, m_Pnt.X - 2, m_Pnt.Y - 2, 5, 5 );
}
展开全部
用Bitmap做一个Buffer就可以了,代码如下:
Bitmap bitmap = null;
private void button1_Click(object sender, EventArgs e)
{
int X = int.Parse(textBox1.Text);
int Y = int.Parse(textBox2.Text);
Bitmap buff = (Bitmap)bitmap.Clone();
buff.SetPixel(X, Y, Color.Red);
pictureBox1.Image = buff;
}
private void Form1_Load(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() != DialogResult.OK) return;
bitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
pictureBox1.Image = (Bitmap)bitmap.Clone();
}
Bitmap bitmap = null;
private void button1_Click(object sender, EventArgs e)
{
int X = int.Parse(textBox1.Text);
int Y = int.Parse(textBox2.Text);
Bitmap buff = (Bitmap)bitmap.Clone();
buff.SetPixel(X, Y, Color.Red);
pictureBox1.Image = buff;
}
private void Form1_Load(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() != DialogResult.OK) return;
bitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
pictureBox1.Image = (Bitmap)bitmap.Clone();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-11
展开全部
把picurebox重新刷新加载呗。
追问
代码怎么写呢,我刚开始学的,很多都不懂。。。多谢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询