我有一个pictureBox,我需要在pictureBox上的不同位置放一些椭圆形..
由于某种原因,形状背后的形状,他们看不见..
我可以做一些形状会在图片上而不在图片后面的东西吗?
什么属性改变了这个?
答案 0 :(得分:0)
要绘制一些椭圆形状,请使用List<Rectangle> ovals = List<Rectangle>();
要绘制它们,您可以选择
对于前者,您需要从要更改的Graphics
创建Image
对象:
Bitmap bmp = new Bitmap(pictureBox1.Image);
using (Graphics graphics = Graphics.FromImage(bmp))
foreach (Rectangle R in ovals)
graphics.FillEllipse(yourBrush, R.X, R.Y, R.Width, R.Height);
if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
pictureBox1.Image = bmp;
此代码将更改像素,可以放在任何位置。
对于后者,您使用Paint
事件:
foreach (Rectangle R in ovals)
e.Graphics.FillEllipse(yourBrush, R.X, R.Y, R.Width, R.Height);
此版本只会更改PicureBox的表面,需要放入或触发Paint事件。
我想你想要这个版本..