读取字体.ttf文件,生成艺术字图片代码

做了个艺术字在线制作网站,整理一下技术代码

System.Drawing.Text.PrivateFontCollection FM = new PrivateFontCollection();
FM.AddFontFile(Server.MapPath("字体文件路径"));
FontFamily FML = FM.Families[0];

这样我们就可以直接读取字体了

我们可以通过

FontStyle fontStyle = FontStyle.Regular;
fontStyle |= FontStyle.Italic;
fontStyle |= FontStyle.Underline;

...

  fontStyle -= FontStyle.Regular;
  fontStyle |= FontStyle.Bold;

 

  Font font = new Font(FML, 字体大小, fontStyle, GraphicsUnit.Point);

这个我们可以设置字体加粗,斜体,下划线的功能

 

Color color = ColorTranslator.FromHtml("#ff0000");  //设置字体颜色

  

Bitmap image = new Bitmap(width, height);
            
Graphics g = Graphics.FromImage(image);


//这里设置图片质量
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.CompositingQuality = CompositingQuality.AssumeLinear;
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;


RectangleF rect = new RectangleF(1, 1, width, height);

SolidBrush brush = new SolidBrush(color);//绘制图片

g.DrawString("这里要生成的文字", font, brush, rect);
brush.Dispose();



MemoryStream msBG = new MemoryStream();

  //保存图片

image.Save(msBG, ImageFormat.Png);

 

最后不要忘了释放资源

FML.Dispose();
font.Dispose();
g.Dispose();
image.Dispose();

return File(msBG.ToArray(), "image/png");

  

具体的demo演示大家可以去我网站上查看  http://www.shiwusui.com

 

posted @ 2018-01-24 11:20  peipeiLove  阅读(1067)  评论(0)    收藏  举报