事先通过以下方法为picturebox1添加图片 private void toolStripButton1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "文本|*.jpg";
open.InitialDirectory = Directory.GetCurrentDirectory();
open.RestoreDirectory = true;
if (open.ShowDialog()==DialogResult.OK)
{
backpicture = open.FileName;
curimage = Image.FromFile(backpicture);
}
if (curimage != null)
{
pbitmap = new Bitmap(curimage);
pictureBox1.Image = pbitmap;
getbitmaparr(pbitmap);
}
}
然后再通过在picturebox1上的单击事件绘制矩形这个矩形的绘制函数写在picturebox1的Paint事件中如程序Graphics recte = e.Graphics;//pictureBox1.CreateGraphics();
ivisible = newf.iwires;
itemp = iarrbitmapindex * ivisible;
ilocationy = (itemp / curimage.Width) * ivisible; //得到Y坐标
ilocationx = itemp % curimage.Width; //得到X坐标
Pen rectpen = new Pen(Color.Green, 2);
Rectangle rect = new Rectangle(ilocationx, ilocationy, ivisible, ivisible);
recte.DrawRectangle(rectpen, rect);
rectpen.Dispose();
this.Invalidate(true); 症状是:开始添加图片还很正常,cpu使用率都在一个正常水平,但当我点击图片时,图片上没有反应,这时我把窗口缩小一下(开始时最大化)该软件的CPU的使用率突然达到25%,而且绘制的矩形也出现了,再次点击窗口矩形也能正常画上去;
这是因为什么啊CPU怎么占用那么高,而且还必须改变一下窗口的大小才能显示
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "文本|*.jpg";
open.InitialDirectory = Directory.GetCurrentDirectory();
open.RestoreDirectory = true;
if (open.ShowDialog()==DialogResult.OK)
{
backpicture = open.FileName;
curimage = Image.FromFile(backpicture);
}
if (curimage != null)
{
pbitmap = new Bitmap(curimage);
pictureBox1.Image = pbitmap;
getbitmaparr(pbitmap);
}
}
然后再通过在picturebox1上的单击事件绘制矩形这个矩形的绘制函数写在picturebox1的Paint事件中如程序Graphics recte = e.Graphics;//pictureBox1.CreateGraphics();
ivisible = newf.iwires;
itemp = iarrbitmapindex * ivisible;
ilocationy = (itemp / curimage.Width) * ivisible; //得到Y坐标
ilocationx = itemp % curimage.Width; //得到X坐标
Pen rectpen = new Pen(Color.Green, 2);
Rectangle rect = new Rectangle(ilocationx, ilocationy, ivisible, ivisible);
recte.DrawRectangle(rectpen, rect);
rectpen.Dispose();
this.Invalidate(true); 症状是:开始添加图片还很正常,cpu使用率都在一个正常水平,但当我点击图片时,图片上没有反应,这时我把窗口缩小一下(开始时最大化)该软件的CPU的使用率突然达到25%,而且绘制的矩形也出现了,再次点击窗口矩形也能正常画上去;
这是因为什么啊CPU怎么占用那么高,而且还必须改变一下窗口的大小才能显示
那怎么样让他开始就有反应呢 ,而且CPU也占用特别高 这是怎么回事
画矩形的代码放在toolstripButton2_Click事件中就不会触发paint事件,也就是画不了矩形 我这个是在图片上只能存在一个矩形,当在另一个地方点击时之前的矩形就会消失,重新在另一个地方出现