sasanrstm
پنج شنبه 11 مهر 1392, 22:52 عصر
سلام به همه دوستان برنامه نویس گرچه تایپکهای زیادی در این مورد در سایت هست حتی dll آماده اما چون تو سایت پخش شده ویه تایپک کامل وجود نداره این تایپک رو زدم امیدوارم دوستان ازش استقبال کنند.
برای شروع کار اول یه فایل generichandler به پروژه اضافه میکنیم با یه صفحه فایل هندلر رو باز میکنیم وکد زیر رو در آن مینویسیم
public void ProcessRequest(HttpContext context)
{
//ایجاد شیء گرافیک و دیگر ملزومات
Bitmap objBMP = new System.Drawing.Bitmap(60, 20);
Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
objGraphics.Clear(Color.Green);
objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
//تنظیم فونت نوشته روی عکس
Font objFont = new Font("Arial", 11, FontStyle.Bold);
//ساخت رشته تصادفی 5 رقمی
string randomStr = "";
Random autoRand = new Random();
randomStr = Convert.ToString(autoRand.Next(12345, 99999));
//اضافه کردن متن در جلسه
context.Session.Add("randomStr", randomStr);
//نوشتن متن
objGraphics.DrawString(randomStr, objFont, Brushes.White, 6, 3);
//تنظیم نوع عکس و برگرداندن آن به عنوان خروجی
context.Response.ContentType = "image/jpeg";
objBMP.Save(context.Response.OutputStream,System.D rawing.Imaging.ImageFormat.Gif);
//آزاد کردن منابع
objFont.Dispose();
objGraphics.Dispose();
objBMP.Dispose();
//►--------------------
}
public bool IsReusable {
get {
return false;
}
using هایی که باید استفاده بشه رو اضافه میکنیم در نهایت فایل هنلر باید به این شکل باشد
<%@ WebHandler Language="C#" Class="Captcha" %>
using System;
using System.Web;
using System.Web.SessionState;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
public class Captcha : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
//ایجاد شیء گرافیک و دیگر ملزومات
Bitmap objBMP = new System.Drawing.Bitmap(60, 20);
Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
objGraphics.Clear(Color.Green);
objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
//تنظیم فونت نوشته روی عکس
Font objFont = new Font("Arial", 11, FontStyle.Bold);
//ساخت رشته تصادفی 5 رقمی
string randomStr = "";
Random autoRand = new Random();
randomStr = Convert.ToString(autoRand.Next(12345, 99999));
//اضافه کردن متن در جلسه
context.Session.Add("randomStr", randomStr);
//نوشتن متن
objGraphics.DrawString(randomStr, objFont, Brushes.White, 6, 3);
//تنظیم نوع عکس و برگرداندن آن به عنوان خروجی
context.Response.ContentType = "image/jpeg";
objBMP.Save(context.Response.OutputStream,System.D rawing.Imaging.ImageFormat.Gif);
//آزاد کردن منابع
objFont.Dispose();
objGraphics.Dispose();
objBMP.Dispose();
//►--------------------
}
public bool IsReusable {
get {
return false;
}
}
}
این کدی که بنده گذاشتم فقط عدد تولید میکند شما میتوانید حروف بزارید یا ترکیبی از عدد وحرف بستگی به سلیقه خودتون دارد
برای شروع کار اول یه فایل generichandler به پروژه اضافه میکنیم با یه صفحه فایل هندلر رو باز میکنیم وکد زیر رو در آن مینویسیم
public void ProcessRequest(HttpContext context)
{
//ایجاد شیء گرافیک و دیگر ملزومات
Bitmap objBMP = new System.Drawing.Bitmap(60, 20);
Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
objGraphics.Clear(Color.Green);
objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
//تنظیم فونت نوشته روی عکس
Font objFont = new Font("Arial", 11, FontStyle.Bold);
//ساخت رشته تصادفی 5 رقمی
string randomStr = "";
Random autoRand = new Random();
randomStr = Convert.ToString(autoRand.Next(12345, 99999));
//اضافه کردن متن در جلسه
context.Session.Add("randomStr", randomStr);
//نوشتن متن
objGraphics.DrawString(randomStr, objFont, Brushes.White, 6, 3);
//تنظیم نوع عکس و برگرداندن آن به عنوان خروجی
context.Response.ContentType = "image/jpeg";
objBMP.Save(context.Response.OutputStream,System.D rawing.Imaging.ImageFormat.Gif);
//آزاد کردن منابع
objFont.Dispose();
objGraphics.Dispose();
objBMP.Dispose();
//►--------------------
}
public bool IsReusable {
get {
return false;
}
using هایی که باید استفاده بشه رو اضافه میکنیم در نهایت فایل هنلر باید به این شکل باشد
<%@ WebHandler Language="C#" Class="Captcha" %>
using System;
using System.Web;
using System.Web.SessionState;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
public class Captcha : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
//ایجاد شیء گرافیک و دیگر ملزومات
Bitmap objBMP = new System.Drawing.Bitmap(60, 20);
Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
objGraphics.Clear(Color.Green);
objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
//تنظیم فونت نوشته روی عکس
Font objFont = new Font("Arial", 11, FontStyle.Bold);
//ساخت رشته تصادفی 5 رقمی
string randomStr = "";
Random autoRand = new Random();
randomStr = Convert.ToString(autoRand.Next(12345, 99999));
//اضافه کردن متن در جلسه
context.Session.Add("randomStr", randomStr);
//نوشتن متن
objGraphics.DrawString(randomStr, objFont, Brushes.White, 6, 3);
//تنظیم نوع عکس و برگرداندن آن به عنوان خروجی
context.Response.ContentType = "image/jpeg";
objBMP.Save(context.Response.OutputStream,System.D rawing.Imaging.ImageFormat.Gif);
//آزاد کردن منابع
objFont.Dispose();
objGraphics.Dispose();
objBMP.Dispose();
//►--------------------
}
public bool IsReusable {
get {
return false;
}
}
}
این کدی که بنده گذاشتم فقط عدد تولید میکند شما میتوانید حروف بزارید یا ترکیبی از عدد وحرف بستگی به سلیقه خودتون دارد