using
System;
using System.Web;
using System.Web.SessionState;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Text;
public class TuImage : IHttpHandler
{
protected int _height = 30 ;
protected string _code = " 0002bfft6280824 " ;
protected string code = "" ;
/* 调用方法
TuImage tu = new TuImage();
//contex(Context.Request.Url.Host+"default.aspx?height=20&code=jijfadlksajf");
// Response.Redirect("default.aspx?height=20&code=jijfadlksajf");
HttpContext context = HttpContext.Current;
tu.ProcessRequest(context);
*/
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString[ " height " ] != null )
{
_height = Convert.ToInt32(context.Request.QueryString[ " height " ].ToString());
}
if (context.Request.QueryString[ " code " ] != null )
{
_code = context.Request.QueryString[ " code " ].ToString();
}
code = getCodeText(_code);
int p_w = code.Length;
int p_h = _height + 20 ;
context.Response.ContentType = " image/gif " ;
Bitmap myBitmap = new Bitmap(p_w, p_h);
Graphics myGrap = Graphics.FromImage(myBitmap);
myGrap.Clear(Color.White);
for ( int i = 0 ; i < p_w; i ++ )
{
Pen myPen = new Pen(Color.White, 1 );
if (code.Substring(i, 1 ) == " | " )
{
myPen.Color = Color.Black;
}
// myGrap.DrawString(_code.Substring(i, 1), new Font("宋体", 12), new SolidBrush(Color.Black), i*13, 20);
myGrap.DrawLine(myPen, i, 0 , i, _height);
}
myGrap.DrawString(_code, new Font( " Courier New " , 10 ), new SolidBrush(Color.Black), - 4 , _height);
myBitmap.Save(context.Response.OutputStream, ImageFormat.Gif);
context.Response.End();
}
public bool IsReusable
{
get { return true ; }
}
private string getCodeText( string n)
{
string zf = n.ToLower();
zf = zf.Replace( " 0 " , " _|_|__||_||_| " );
zf = zf.Replace( " 1 " , " _||_|__|_|_|| " );
zf = zf.Replace( " 2 " , " _|_||__|_|_|| " );
zf = zf.Replace( " 3 " , " _||_||__|_|_| " );
zf = zf.Replace( " 4 " , " _|_|__||_|_|| " );
zf = zf.Replace( " 5 " , " _||_|__||_|_| " );
zf = zf.Replace( " 7 " , " _|_|__|_||_|| " );
zf = zf.Replace( " 6 " , " _|_||__||_|_| " );
zf = zf.Replace( " 8 " , " _||_|__|_||_| " );
zf = zf.Replace( " 9 " , " _|_||__|_||_| " );
zf = zf.Replace( " a " , " _||_|_|__|_|| " );
zf = zf.Replace( " b " , " _|_||_|__|_|| " );
zf = zf.Replace( " c " , " _||_||_|__|_| " );
zf = zf.Replace( " d " , " _|_|_||__|_|| " );
zf = zf.Replace( " e " , " _||_|_||__|_| " );
zf = zf.Replace( " f " , " _|_||_||__|_| " );
zf = zf.Replace( " g " , " _|_|_|__||_|| " );
zf = zf.Replace( " h " , " _||_|_|__||_| " );
zf = zf.Replace( " i " , " _|_||_|__||_| " );
zf = zf.Replace( " j " , " _|_|_||__||_| " );
zf = zf.Replace( " k " , " _||_|_|_|__|| " );
zf = zf.Replace( " l " , " _|_||_|_|__|| " );
zf = zf.Replace( " m " , " _||_||_|_|__| " );
zf = zf.Replace( " n " , " _|_|_||_|__|| " );
zf = zf.Replace( " o " , " _||_|_||_|__| " );
zf = zf.Replace( " p " , " _|_||_||_|__| " );
zf = zf.Replace( " r " , " _||_|_|_||__| " );
zf = zf.Replace( " q " , " _|_|_|_||__|| " );
zf = zf.Replace( " s " , " _|_||_|_||__| " );
zf = zf.Replace( " t " , " _|_|_||_||__| " );
zf = zf.Replace( " u " , " _||__|_|_|_|| " );
zf = zf.Replace( " v " , " _|__||_|_|_|| " );
zf = zf.Replace( " w " , " _||__||_|_|_| " );
zf = zf.Replace( " x " , " _|__|_||_|_|| " );
zf = zf.Replace( " y " , " _||__|_||_|_| " );
zf = zf.Replace( " z " , " _|__||_||_|_| " );
zf = zf.Replace( " - " , " _|__|_|_||_|| " );
zf = zf.Replace( " * " , " _|__|_||_||_| " );
zf = zf.Replace( " / " , " _|__|__|_|__| " );
zf = zf.Replace( " % " , " _|_|__|__|__| " );
zf = zf.Replace( " + " , " _|__|_|__|__| " );
zf = zf.Replace( " . " , " _||__|_|_||_| " );
return zf;
}
}
using System.Web;
using System.Web.SessionState;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Text;
public class TuImage : IHttpHandler
{
protected int _height = 30 ;
protected string _code = " 0002bfft6280824 " ;
protected string code = "" ;
/* 调用方法
TuImage tu = new TuImage();
//contex(Context.Request.Url.Host+"default.aspx?height=20&code=jijfadlksajf");
// Response.Redirect("default.aspx?height=20&code=jijfadlksajf");
HttpContext context = HttpContext.Current;
tu.ProcessRequest(context);
*/
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString[ " height " ] != null )
{
_height = Convert.ToInt32(context.Request.QueryString[ " height " ].ToString());
}
if (context.Request.QueryString[ " code " ] != null )
{
_code = context.Request.QueryString[ " code " ].ToString();
}
code = getCodeText(_code);
int p_w = code.Length;
int p_h = _height + 20 ;
context.Response.ContentType = " image/gif " ;
Bitmap myBitmap = new Bitmap(p_w, p_h);
Graphics myGrap = Graphics.FromImage(myBitmap);
myGrap.Clear(Color.White);
for ( int i = 0 ; i < p_w; i ++ )
{
Pen myPen = new Pen(Color.White, 1 );
if (code.Substring(i, 1 ) == " | " )
{
myPen.Color = Color.Black;
}
// myGrap.DrawString(_code.Substring(i, 1), new Font("宋体", 12), new SolidBrush(Color.Black), i*13, 20);
myGrap.DrawLine(myPen, i, 0 , i, _height);
}
myGrap.DrawString(_code, new Font( " Courier New " , 10 ), new SolidBrush(Color.Black), - 4 , _height);
myBitmap.Save(context.Response.OutputStream, ImageFormat.Gif);
context.Response.End();
}
public bool IsReusable
{
get { return true ; }
}
private string getCodeText( string n)
{
string zf = n.ToLower();
zf = zf.Replace( " 0 " , " _|_|__||_||_| " );
zf = zf.Replace( " 1 " , " _||_|__|_|_|| " );
zf = zf.Replace( " 2 " , " _|_||__|_|_|| " );
zf = zf.Replace( " 3 " , " _||_||__|_|_| " );
zf = zf.Replace( " 4 " , " _|_|__||_|_|| " );
zf = zf.Replace( " 5 " , " _||_|__||_|_| " );
zf = zf.Replace( " 7 " , " _|_|__|_||_|| " );
zf = zf.Replace( " 6 " , " _|_||__||_|_| " );
zf = zf.Replace( " 8 " , " _||_|__|_||_| " );
zf = zf.Replace( " 9 " , " _|_||__|_||_| " );
zf = zf.Replace( " a " , " _||_|_|__|_|| " );
zf = zf.Replace( " b " , " _|_||_|__|_|| " );
zf = zf.Replace( " c " , " _||_||_|__|_| " );
zf = zf.Replace( " d " , " _|_|_||__|_|| " );
zf = zf.Replace( " e " , " _||_|_||__|_| " );
zf = zf.Replace( " f " , " _|_||_||__|_| " );
zf = zf.Replace( " g " , " _|_|_|__||_|| " );
zf = zf.Replace( " h " , " _||_|_|__||_| " );
zf = zf.Replace( " i " , " _|_||_|__||_| " );
zf = zf.Replace( " j " , " _|_|_||__||_| " );
zf = zf.Replace( " k " , " _||_|_|_|__|| " );
zf = zf.Replace( " l " , " _|_||_|_|__|| " );
zf = zf.Replace( " m " , " _||_||_|_|__| " );
zf = zf.Replace( " n " , " _|_|_||_|__|| " );
zf = zf.Replace( " o " , " _||_|_||_|__| " );
zf = zf.Replace( " p " , " _|_||_||_|__| " );
zf = zf.Replace( " r " , " _||_|_|_||__| " );
zf = zf.Replace( " q " , " _|_|_|_||__|| " );
zf = zf.Replace( " s " , " _|_||_|_||__| " );
zf = zf.Replace( " t " , " _|_|_||_||__| " );
zf = zf.Replace( " u " , " _||__|_|_|_|| " );
zf = zf.Replace( " v " , " _|__||_|_|_|| " );
zf = zf.Replace( " w " , " _||__||_|_|_| " );
zf = zf.Replace( " x " , " _|__|_||_|_|| " );
zf = zf.Replace( " y " , " _||__|_||_|_| " );
zf = zf.Replace( " z " , " _|__||_||_|_| " );
zf = zf.Replace( " - " , " _|__|_|_||_|| " );
zf = zf.Replace( " * " , " _|__|_||_||_| " );
zf = zf.Replace( " / " , " _|__|__|_|__| " );
zf = zf.Replace( " % " , " _|_|__|__|__| " );
zf = zf.Replace( " + " , " _|__|_|__|__| " );
zf = zf.Replace( " . " , " _||__|_|_||_| " );
return zf;
}
}