惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 刹那间我存在

一个可以放wordpress博客的PHP国外免费空间速度非常不错 重写alert,使用模态窗口强化alert。 - 刹那间我存在 - 博客园 利用 ASP.NET 的Timer 来实现的访问统计,感觉比较适合高访问量的网站 JavaScript 使用for(…in…)实现反射机制 给moz添加ie方法和属性,让firefox像IE一样编程 - 刹那间我存在 - 博客园 [原] 用 javascript 给你的博客增加运行代码功能 网页中图片大小自动调整三种方法 - 刹那间我存在 - 博客园 同时支持三种事件模型 ASP调用.Net编写的动态库 - 刹那间我存在 - 博客园 整个表单元素禁用``` shtml精简教程 更改数据库所有者 BitComet超级优化设置 很酷的TOOLTip JS函数收藏 今天得到了两个 Google Analytics 的邀请 CustomValidator 控件 千万数量级分页存储过程(带效果演示) 推荐一下免费的1G网络硬盘,非常另类
[原]ASP.NET 下生成的条形码。
刹那间我存在 · 2007-04-17 · via 博客园 - 刹那间我存在

由于公司经常要用到条形码打印,但网上搜了好久,总没有几个好用的,有好用的也要很多大洋。没办法本人比较穷所以只能自己写个比较简单的。由于公司很多项目都是不同语言写的,又都基于b/s系统,经常要用到这个条形码,所以我写成的一个ashx文件,并用传入参数的方法来调用

http://www.dubox.cn/test/TuImage.ashx?code=125451ABDCDER4144444&height=60 这里是效果共有两个参数,自己看吧

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 = "";
    
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;
    }


}