如下代码所示:
GraphicsPath path = new GraphicsPath();
path.AddString ...
path.AddRectangle ...
上面我在这个GraphicsPath中既有矩形框、又有文本。在实际输出的时候遇到了问题,如下描述:
如果采用e.Graphics.FillPath的话,那么画出的整个矩形框内部也都填充了颜色,而我想要的仅仅只是一个矩形的边框。
如果采用e.Graphics.DrawPath的话,画出的是矩形的边框,内部没有填充颜色,但是又有新的问题,那就是文字都变成了空心的了。
如何解决这两者的冲突问题?谢谢大家!
GraphicsPath path = new GraphicsPath();
path.AddString ...
path.AddRectangle ...
上面我在这个GraphicsPath中既有矩形框、又有文本。在实际输出的时候遇到了问题,如下描述:
如果采用e.Graphics.FillPath的话,那么画出的整个矩形框内部也都填充了颜色,而我想要的仅仅只是一个矩形的边框。
如果采用e.Graphics.DrawPath的话,画出的是矩形的边框,内部没有填充颜色,但是又有新的问题,那就是文字都变成了空心的了。
如何解决这两者的冲突问题?谢谢大家!
我想知道你说的“处理字符串显示的时候最好不要把它加入Path中”,这点的原因是什么?我就是想知道这点,谢谢!
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
Graphics g = this.CreateGraphics();
string str = "你的字符串";
Size size = TextRenderer.MeasureText(str, this.Font);
Rectangle rect = new Rectangle(10, 10, size.Width, size.Height);
TextRenderer.DrawText(g, str, this.Font, rect, Color.Black);
g.DrawRectangle(SystemPens.ControlText, rect);
}