我自己写了一个 方法//自动换行文字
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;
}怎么才能设置 字间距和行间距?
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;
}怎么才能设置 字间距和行间距?
//设置字符间隔
[DllImport("gdi32.dll")]
public static extern int SetTextCharacterExtra(IntPtr hdc, int nCharExtra);
//gdi32.dll
原型:int SetTextCharacterExtra(HDC hdc, int nCharExtra);
[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;
}