问题描述
高手帮我看看,这个图片中的放大镜效果是怎么做出来的?http://www.receita.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image先谢谢回答的朋友!!
解决方案
解决方案二:
这不是验证码么,描噪点就OK
解决方案三:
publicpartialclassValidateCode:System.Web.UI.Page{protectedvoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面this.CreateCheckCodeImage(GenerateCheckCode());stringkk=GenerateCheckCode();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}///<summary>///设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///</summary>privatevoidInitializeComponent(){}#endregionprivatestringGenerateCheckCode(){intnumber;charcode;stringcheckCode=String.Empty;System.Randomrandom=newRandom();for(inti=0;i<5;i++){number=random.Next();if(number%2==0)code=(char)('0'+(char)(number%10));elsecode=(char)('A'+(char)(number%26));checkCode+=code.ToString();}Response.Cookies.Add(newHttpCookie("CheckCode",checkCode));returncheckCode;}privatevoidCreateCheckCodeImage(stringcheckCode){if(checkCode==null||checkCode.Trim()==String.Empty)return;System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length*12.5)),22);Graphicsg=Graphics.FromImage(image);try{//生成随机生成器Randomrandom=newRandom();//清空图片背景色g.Clear(Color.White);//画图片的背景噪音线for(inti=0;i<25;i++){intx1=random.Next(image.Width);intx2=random.Next(image.Width);inty1=random.Next(image.Height);inty2=random.Next(image.Height);g.DrawLine(newPen(Color.Silver),x1,y1,x2,y2);}Fontfont=newSystem.Drawing.Font("Arial",12,(System.Drawing.FontStyle.Bold|System.Drawing.FontStyle.Italic));System.Drawing.Drawing2D.LinearGradientBrushbrush=newSystem.Drawing.Drawing2D.LinearGradientBrush(newRectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2f,true);g.DrawString(checkCode,font,brush,2,2);//画图片的前景噪音点for(inti=0;i<100;i++){intx=random.Next(image.Width);inty=random.Next(image.Height);image.SetPixel(x,y,Color.FromArgb(random.Next()));}//画图片的边框线g.DrawRectangle(newPen(Color.Silver),0,0,image.Width-1,image.Height-1);System.IO.MemoryStreamms=newSystem.IO.MemoryStream();image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);Response.ClearContent();Response.ContentType="image/Gif";Response.BinaryWrite(ms.ToArray());}finally{g.Dispose();image.Dispose();}}}
解决方案四:
我顶先!
解决方案五:
我知道怎么做扭曲的验证码,用MSDNHIPhttp://msdn.microsoft.com/en-us/library/ms972952.aspx就可以了,可是具体怎么做出来放大镜效果的呢??