自定义字体路径的验证码

今天遇到个难题,公司的服务器居然无法访问到系统的字体,郁闷,画验证码直接就找不到字体
搞了老半天,google了一把也没什么收获,终于发现有System.Drawing.Text.PrivateFontCollection这个字体集合,可以自己做字体的集合,于是把代码修改一下,哈哈,居然就OK了。
希望以后对有遇到同样困难的朋友能有帮助
None.gif          public   void  CreateImage( string  Code)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            System.Drawing.Text.PrivateFontCollection pfc 
= new System.Drawing.Text.PrivateFontCollection();
InBlock.gif            pfc.AddFontFile( HttpContext.Current.Server.MapPath( 
"~/File/Font/arial.ttf")); //添加字体的集合
InBlock.gif
InBlock.gif            
int iwidth = (int)(Code.Length * 15);
InBlock.gif            System.Drawing.Bitmap image 
= new System.Drawing.Bitmap(iwidth, 24);
InBlock.gif            Graphics g 
= Graphics.FromImage(image);
InBlock.gif
InBlock.gif            Font f 
= new System.Drawing.Font(pfc.Families[0], 15,FontStyle.Bold, GraphicsUnit.Pixel);//创建font
InBlock.gif
InBlock.gif            Brush b 
= new System.Drawing.SolidBrush(Color.White);
InBlock.gif
InBlock.gif            g.Clear(Color.Blue);
InBlock.gif
InBlock.gif            
//画字
InBlock.gif
            g.DrawString(Code, f, b, 33);
InBlock.gif                        
InBlock.gif            System.IO.MemoryStream ms 
= new System.IO.MemoryStream();
InBlock.gif            image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
InBlock.gif
InBlock.gif            Response.ContentType 
= "image/Jpeg";
InBlock.gif            Response.BinaryWrite(ms.ToArray());
InBlock.gif            g.Dispose();
InBlock.gif            image.Dispose();
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/KeithDan/archive/2006/07/15/451611.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值