migrate to new git
This commit is contained in:
106
web/App_Script/barcode/generator.ashx
Normal file
106
web/App_Script/barcode/generator.ashx
Normal file
@@ -0,0 +1,106 @@
|
||||
<%@ WebHandler Language="C#" Class="generator" %>
|
||||
|
||||
using System;
|
||||
using System.Web;
|
||||
using System.IO;
|
||||
using BarcodeLib;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
|
||||
public class generator : IHttpHandler {
|
||||
|
||||
|
||||
MyWeb.function f = new MyWeb.function();
|
||||
|
||||
public void ProcessRequest (HttpContext context) {
|
||||
|
||||
if (!f.isStrNull(context.Request["val"]))
|
||||
{
|
||||
try
|
||||
{
|
||||
MemoryStream oStream = new MemoryStream();
|
||||
CreateValidateCodeImage(ref oStream);
|
||||
context.Response.ClearContent();
|
||||
context.Response.ContentType = "image/Gif";
|
||||
context.Response.BinaryWrite(oStream.ToArray());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
context.Response.ContentType = "text/plain";
|
||||
context.Response.Write(ex.Message);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
context.Response.ContentType = "text/plain";
|
||||
context.Response.Write("No data");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void CreateValidateCodeImage(ref MemoryStream MemoryStream)
|
||||
{
|
||||
|
||||
Bitmap oBmp = CreateValidateCodeImage();
|
||||
try
|
||||
{
|
||||
oBmp.Save(MemoryStream, ImageFormat.Gif);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
oBmp.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public Bitmap CreateValidateCodeImage()
|
||||
{
|
||||
|
||||
//設定字型
|
||||
int FontSize = 10;
|
||||
if ( !f.isStrNull(HttpContext.Current.Request["fontsize"]) && f.IsNumeric(HttpContext.Current.Request["fontsize"]))
|
||||
FontSize = f.Val(HttpContext.Current.Request["fontsize"]);
|
||||
|
||||
Font oFont = new Font("Times New Roman", FontSize, FontStyle.Regular);
|
||||
|
||||
Barcode bc = new Barcode();
|
||||
bc.IncludeLabel = true;
|
||||
bc.Alignment = AlignmentPositions.CENTER;
|
||||
bc.Width =!f.isStrNull(HttpContext.Current.Request["w"]) && f.IsNumeric(HttpContext.Current.Request["w"])?f.Val(HttpContext.Current.Request["w"]):400;
|
||||
bc.Height =!f.isStrNull(HttpContext.Current.Request["h"]) && f.IsNumeric(HttpContext.Current.Request["h"])?f.Val(HttpContext.Current.Request["h"]):200;
|
||||
bc.RotateFlipType = RotateFlipType.RotateNoneFlipNone;
|
||||
bc.LabelFont = oFont;
|
||||
bc.BackColor = Color.White;
|
||||
bc.ForeColor = Color.Black;
|
||||
|
||||
string data = f.ValString(HttpContext.Current.Request["val"]);
|
||||
|
||||
string type = f.ValString(HttpContext.Current.Request["type"]);
|
||||
if (type == "39")
|
||||
return (Bitmap)bc.Encode(TYPE.CODE39, data);
|
||||
else if (type == "128")
|
||||
return (Bitmap)bc.Encode(TYPE.CODE128, data);
|
||||
else if (type == "ISBN")
|
||||
return (Bitmap)bc.Encode(TYPE.ISBN, data);
|
||||
else if (type == "ITF")
|
||||
return (Bitmap)bc.Encode(TYPE.ITF14, data);
|
||||
else if (type == "EAN13")
|
||||
return (Bitmap)bc.Encode(TYPE.EAN13, data);
|
||||
else if (type == "EAN8")
|
||||
return (Bitmap)bc.Encode(TYPE.EAN8, data);
|
||||
else
|
||||
return (Bitmap)bc.Encode(TYPE.CODE39, data);
|
||||
|
||||
}
|
||||
|
||||
public bool IsReusable {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user