dark_n
Гость
|
|
« : 08-08-2006 03:59 » |
|
Привет всем, не понимаю в чем дело.. щелкаю в раных местах по картинке , но прямоугольничек рисуется немного выше чем то место где я щелкнул. причем ближе к левому-верхнему углу картинки расхождение меньше, ниже и правее расхождение больше.
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { gg=Graphics.FromImage(pictureBox1.Image); r.X=e.X; r.Y=e.Y; r.Width=20; r.Height=20; gg.DrawRectangle(new Pen(Color.Blue),r); pictureBox1.Invalidate();
1) как потом стереть все прямоугольники которые я нарисовал?
|
|
|
Записан
|
|
|
|
Wardena
Гость
|
|
« Ответ #1 : 13-09-2006 14:33 » |
|
я написала вот так: private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { Graphics gg; gg = pictureBox1.CreateGraphics(); gg.DrawRectangle(new Pen(Color.Blue), e.X, e.Y, 60,60); } все работает....
|
|
|
Записан
|
|
|
|
Wardena
Гость
|
|
« Ответ #2 : 13-09-2006 14:37 » |
|
для стирания квадратов пиши: gg.Clear(Color.Black); кстати для просто ты gg.DrawRectangle(new Pen(Color.Blue), e.X, e.Y, 60,60); можно заменить на gg.DrawRectangle(Pens.Blue, e.X, e.Y, 60,60); =))
|
|
|
Записан
|
|
|
|
dark_n
Гость
|
|
« Ответ #3 : 14-09-2006 01:46 » |
|
не в этом дело , просто у меня свойство pictureBox1.SizeMode=SizeMode.StrechImage а там происходит смещение координал. если режим normal то все путем.
|
|
|
Записан
|
|
|
|
|