Mail to Keith Dan
keith的天空
海阔凭鱼跃,天高任鸟飞
今天遇到个难题,公司的服务器居然无法访问到系统的字体,郁闷,画验证码直接就找不到字体
搞了老半天,google了一把也没什么收获,终于发现有System.Drawing.Text.PrivateFontCollection这个字体集合,可以自己做字体的集合,于是把代码修改一下,哈哈,居然就OK了。
希望以后对有遇到同样困难的朋友能有帮助
        public void CreateImage(string Code)
        
{
            System.Drawing.Text.PrivateFontCollection pfc 
= new System.Drawing.Text.PrivateFontCollection();
            pfc.AddFontFile( HttpContext.Current.Server.MapPath( 
"~/File/Font/arial.ttf")); //添加字体的集合

            
int iwidth = (int)(Code.Length * 15);
            System.Drawing.Bitmap image 
= new System.Drawing.Bitmap(iwidth, 24);
            Graphics g 
= Graphics.FromImage(image);

            Font f 
= new System.Drawing.Font(pfc.Families[0], 15,FontStyle.Bold, GraphicsUnit.Pixel);//创建font

            Brush b 
= new System.Drawing.SolidBrush(Color.White);

            g.Clear(Color.Blue);

            
//画字
            g.DrawString(Code, f, b, 33);
                        
            System.IO.MemoryStream ms 
= new System.IO.MemoryStream();
            image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);

            Response.ContentType 
= "image/Jpeg";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            image.Dispose();
        }
posted on 2006-07-15 22:15  KeithDan  阅读(1066)  评论(3编辑  收藏  举报