关于网友提出的“C# DrawString 怎么设置字间距和行间距”问题疑问,本网通过在网上对“C# DrawString 怎么设置字间距和行间距”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:C# DrawString 怎么设置字间距和行间距
描述: 我自己写了一个 方法
//自动换行文字
private Image drawString(Image image,string text,RectangleF rectF,Font font,Brush brush) {
if (text != string.Empty && text != "" && text != null && image!=null) {
Graphics g = Graphics.FromImage(image);
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.High;
g.DrawString(text, font, brush, rectF);
g.Dispose();
}
return image;
}
怎么才能设置 字间距和行间距?
解决方案1:
[DllImport("gdi32.dll")]
public static extern int SetTextCharacterExtra(IntPtr hdc, int nCharExtra);
private Image drawString(Image image,string text,RectangleF rectF,Font font,Brush brush,int nCharExtra)
{
if (text != string.Empty && text != "" && text != null && image!=null)
{
Graphics g = Graphics.FromImage(image);
IntPtr hdc = g.GetHdc();
SetTextCharacterExtra(hdc, nCharExtra);
g.ReleaseHdc(hdc);
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.High;
g.DrawString(text, font, brush, rectF);
g.Dispose();
}
return image;
}
解决方案2:
//gdi32.dll
原型:int SetTextCharacterExtra(HDC hdc, int nCharExtra);
解决方案3:
//设置字符间隔
[DllImport("gdi32.dll")]
public static extern int SetTextCharacterExtra(IntPtr hdc, int nCharExtra);
以上介绍了“C# DrawString 怎么设置字间距和行间距”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/963560.html