我有一个图片框,里面有一个图像,这个图像的顶部我画了一些椭圆。但是,只有部分省略号出现。代码看起来像这样:
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
g.FillEllipse(redBrush, rfidNode1.readerPos.X, rfidNode1.readerPos.Y, 15, 15);
编辑:对不起,我复制并粘贴了最后一行两次......所以只有一行填充椭圆。此外,x和y在图片框的范围内。
答案 0 :(得分:0)
如果X和Y相同,则在另一个上面绘制两个椭圆,因此只有最后一个可见。另外,可能是X和Y超出了图片框的范围?
答案 1 :(得分:0)
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bmp);
g.FillEllipse(redBrush, rfidNode1.readerPos.X, rfidNode1.readerPos.Y, 15, 15);
pictureBox1.Image = bmp;
或许我错过了你的意图?
答案 2 :(得分:0)
尝试覆盖绘制事件并将绘画代码放在那里。绘图过程经常运行,然后你的图形就被透支了。
答案 3 :(得分:0)
要在控件上绘图,请尝试使用paint-event注册并使用paint事件参数中提供的图形对象。
查看here了解详情和示例。
答案 4 :(得分:-1)
我不太确定它是否真的可以安全地绘制图片框。安全我的意思是:确保你想要的所有椭圆都可见。如果你想要一些自定义行为,PictureBox就不是那么好的解决方案了。
像解决方案一样,我建议手动绘制图像,现在你有了图片框。
希望这有帮助。
问候。