事先通过以下方法为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怎么占用那么高,而且还必须改变一下窗口的大小才能显示
解决方案 »
- 关于GetType的问题.50分求解.
- 关于C#更新的问题
- 关于位操作
- DataGrid中动态添加的按钮列如何添加属性(如"onclick")
- 有哪些方法保护你写的程序?
- 怎样用DataSet和OleDbDataAdapter修改一条记录呢?急。。。!!!
- 求Rational XDE for .net下载(不能是电驴下载的连接,公司不充许用这个下。。。。。)
- 网站已部署到服务器上 但是报无法使用前导的错 代码还报错 这个如何解决
- 如何捕获COM异常
- 我想写个小软件,需要在网络中传输音频,视频,用C#实现,怎么办?快救我!
- vs2010新建web网站的生成页面问题
- Process 运行外部程序的问题
那怎么样让他开始就有反应呢 ,而且CPU也占用特别高 这是怎么回事
画矩形的代码放在toolstripButton2_Click事件中就不会触发paint事件,也就是画不了矩形 我这个是在图片上只能存在一个矩形,当在另一个地方点击时之前的矩形就会消失,重新在另一个地方出现