图形没有出现在C#中

时间:2011-07-19 05:44:36

标签: c# system.drawing

我有一个图片框,里面有一个图像,这个图像的顶部我画了一些椭圆。但是,只有部分省略号出现。代码看起来像这样:

Graphics g = Graphics.FromHwnd(pictureBox1.Handle); 
g.FillEllipse(redBrush, rfidNode1.readerPos.X, rfidNode1.readerPos.Y, 15, 15);
编辑:对不起,我复制并粘贴了最后一行两次......所以只有一行填充椭圆。此外,x和y在图片框的范围内。

5 个答案:

答案 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)

尝试覆盖绘制事件并将绘画代码放在那里。绘图过程经常运行,然后你的图形就被透支了。

Tutorial - Drawing with C#

答案 3 :(得分:0)

要在控件上绘图,请尝试使用paint-event注册并使用paint事件参数中提供的图形对象。

查看here了解详情和示例。

答案 4 :(得分:-1)

我不太确定它是否真的可以安全地绘制图片框。安全我的意思是:确保你想要的所有椭圆都可见。如果你想要一些自定义行为,PictureBox就不是那么好的解决方案了。

像解决方案一样,我建议手动绘制图像,现在你有了图片框。

希望这有帮助。

问候。