我使用一个库来从这里绘制大纲文本http://www.codeproject.com/Articles/42529/Outline-Text
我为测试编写了一个函数我试图将outlineText图形对象保存为位图图形对象正确绘制在控件上但是当我将它保存为图像时结果图像为空
Graphics graphic = this .CreateGraphics();
graphic.SmoothingMode = SmoothingMode.AntiAlias;
StringFormat fmt = new StringFormat(StringFormat.GenericTypographic);
Int32 lNum = (Int32)Math.Log((Double)this.TextAlign, 2);
fmt.LineAlignment = (StringAlignment)(lNum / 4);
fmt.Alignment = (StringAlignment)(lNum % 4);
OutlineText m_OutlineText = new OutlineText();
m_OutlineText.EnableShadow(true);
m_OutlineText.SetNullShadow();
m_OutlineText.Shadow(ShadowColor, ShadowSize, new Point(4, 4));
FontFamily fontFamily = this.Font.FontFamily;
float fStartX = 0.0f;
float fStartY = 0.0f;
float fDestWidth = 0.0f;
float fDestHeight = 0.0f;
m_OutlineText.MeasureString(
graphic,
fontFamily,
this.Font.Style,
(int)this.Font.Size,
this.Text,
new Point(10, 10),
fmt,
ref fStartX,
ref fStartY,
ref fDestWidth,
ref fDestHeight);
LinearGradientBrush gradientBrush = new LinearGradientBrush(new RectangleF(fStartX, fStartY, fDestWidth - (fStartX - 10), fDestHeight - (fStartY - 10)),
GrediantA, GrediantB, LinearGradientMode.Vertical);
m_OutlineText.TextOutline(gradientBrush, OutlineColor, OutlineSize);
if (_myRc == null)
{
_myRc = ClientRectangle;
}
m_OutlineText.DrawString(graphic, fontFamily, this.Font.Style, (int)this.Font.Size, this.Text, _myRc, fmt);
_textImage = new Bitmap(this.Width, this.Height, graphic);
_textImage.Save(@"C:\bmp.jpg");