怎么让文本长度过长自动换行??
街角嘚堕落 2018-07-24 11:35:23 if (string.IsNullOrEmpty(this.Watermark))
{
throw new ExSys("Watermark string is empty!");
}
Bitmap wkWaterMark = null;
using (Brush fontBrush = FontBrush)
{
//字号单位是point,影像单位是像素
int vwFontSize = ToPtFontSize(FontSize);
if (vwFontSize <= vwMIN_FONT_SIZE)
{
vwFontSize = vwMIN_FONT_SIZE;
}
using (Font vwFont = new Font(FontName, vwFontSize, FontStyle))
{
using (StringFormat sf = new StringFormat(StringFormatFlags.LineLimit))
{
using (Bitmap tmpBit = new Bitmap(1, vwFont.Height + 2))
{
using (Graphics tmpG = Graphics.FromImage(tmpBit))
{
tmpG.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
SizeF sizeF = tmpG.MeasureString(this.Watermark, vwFont);
Rectangle textRect = new Rectangle(0, 0, (int)sizeF.Width + 2, (int)sizeF.Height + 2);
wkWaterMark = new Bitmap(textRect.Width, textRect.Height);
using (Graphics wkG = Graphics.FromImage(wkWaterMark))
{
wkG.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
wkG.FillRectangle(Brushes.Transparent, textRect);
wkG.DrawString(this.Watermark, vwFont, this.FontBrush, 0f, 0f, sf);
}
}
}
}
}
}
this.W = wkWaterMark.Width;
this.H = wkWaterMark.Height;
if (wkWaterMark != null)
{
wkWaterMark.Dispose();
wkWaterMark = null;
}