ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:31.50KB ,
资源ID:12180498      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-12180498.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java 条形码 源码.doc)为本站会员(hwpkd79526)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

java 条形码 源码.doc

1、package test;import java.awt.image.BufferedImage;import java.awt.Graphics;import java.awt.Color;import java.awt.geom.AffineTransform;import java.awt.image.AffineTransformOp;import com.sun.image.codec.jpeg.JPEGImageEncoder;import com.sun.image.codec.jpeg.JPEGCodec;import java.io.File;import java.io.F

2、ileOutputStream;import java.io.OutputStream;import com.sun.image.codec.jpeg.ImageFormatException;import java.io.IOException;import java.util.Random;/* */* 符合 BarCode 39 规范的条码图像生成器* author ChenLiang /条码宽条与窄条宽度之比private int m_nNarrowWidth; /窄条的宽度像素数private int m_nImageHeight; /条码的高度像素数private boolean

3、m_bRotato; /输出的图像是否需要先旋转/* */* 根据 strCodes 传入的字符串,生成符合 BarCode 39 规范的 JPEG 输出流;* param nNarrowWidth * param nImageHeight */* public BarCode39ImageBuilder(int nNarrowWidth, int nImageHeight)m_nNarrowWidth = nNarrowWidth;m_nImageHeight = nImageHeight;m_bRotato = false;*/* */* 构造函数,默认窄条宽为 4 像素,条码高度是 10

4、0 像素;*/*public BarCode39ImageBuilder()this(1, 33);*/* */* 设置是否需要将结果图像在输出之前进行旋转;系统默认是不旋转* param b true:旋转,false:不旋转*/public void setRotato(boolean b)m_bRotato = b;/* */* 生成相应的 Bar Code 图像,格式以 jpeg 格式的输出流;* param strCodes 要生成条码的字符串,注意该字符串需要包含首尾的两个星号* param out 接结果的输出流* throws IOException * throws Imag

5、eFormatException * throws IOException*/public void getImage(String strCodes, String path) throws ImageFormatException, IOExceptionString fileBar= System.getProperty(“file.separator“);File myPNG = new File(path);OutputStream out = new FileOutputStream(myPNG);if (null=strCodes | null=out | 0=strCodes.

6、length()return;int nImageWidth = (strCodes.length() * (3 * rate + 7) * m_nNarrowWidth);BufferedImage bi = new BufferedImage(nImageWidth, m_nImageHeight+13, BufferedImage.TYPE_INT_RGB);Graphics g = bi.getGraphics();g.setColor(Color.WHITE);g.fillRect(0, 0, nImageWidth, m_nImageHeight);g.setColor(Color

7、.BLACK);int startx = 0;for (int i = 0; i i) if (i x += width;return x + m_nNarrowWidth;/* */* 图像翻转,即 X 与 Y 方向互换* param in 源图像* return 翻转后的图像*/private BufferedImage flipX2Y(BufferedImage in)BufferedImage out = new BufferedImage(in.getHeight(), in.getWidth(), in.getType();/请查看 JDKAffineTransform affin

8、eTransform = new AffineTransform(0, 1, 1, 0, 0, 0);AffineTransformOp affineTransformOp = new AffineTransformOp(affineTransform,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);return affineTransformOp.filter(in, out);/ 原来旋转的版本,仅供参考/ private BufferedImage rotate(BufferedImage in)/ / int width = in.getWidth()

9、;/ int height = in.getHeight();/ BufferedImage out = new BufferedImage(height, width, in.getType();/ AffineTransform affineTransform = AffineTransform.getRotateInstance(Math.toRadians(90);/ affineTransform.translate(0, -height);/ / AffineTransformOp affineTransformOp = new AffineTransformOp(affineTr

10、ansform,/ AffineTransformOp.TYPE_NEAREST_NEIGHBOR);/ affineTransformOp.filter(in, out);/ return out;/ /Code39 符号表private static final char m_chars = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X,Y, Z, -, ., , *, $, /, +, % ;/Code39 符号所对应的码表,16 进制

11、编码 n 为 0 w 为 1private static final short m_codes = 0x34, 0x121, 0x61, 0x160, 0x31, 0x130, 0x70, 0x25, 0x124, 0x64,0x109, 0x49, 0x148, 0x19, 0x118, 0x58, 0xd, 0x10c, 0x4c, 0x1c, 0x103, 0x43, 0x142, 0x13, 0x112, 0x52,0x7, 0x106, 0x46, 0x16, 0x181, 0xc1, 0x1c0, 0x91, 0x190, 0xd0, 0x85, 0x184, 0xc4, 0x9

12、4, 0xa8, 0xa2,0x8a, 0x2a ;/* */* 通过码表符号获得码表字符* param ch 码表符号* return 码表值*/private static short getCharCode(char ch)for (int i = 0; i m_chars.length; i+)if (ch = m_charsi)return m_codesi;return 0;/生成条形码的数据-8 位随机字符串public String barcodeData()String dataFinal = null;/String dataTemp = longDateFormat.fo

13、rmat(new java.util.Date(); Random r = new Random();String strRandom = “+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“;dataFinal = strRandom;/dataFinal = dataTemp+strRandom;/*while(hasCus(dataFinal) /判断是否有此客户代码strRandom=“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“+r.nextInt(9)+“;dataFinal = dataTemp+strRandom; */return dataFinal;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报