社区
Web 开发
帖子详情
java 条形码 源码
aries_nj
2010-05-06 04:07:19
各位高手能提供一个java生成条形码的实例给我,谢谢
...全文
326
18
打赏
收藏
java 条形码 源码
各位高手能提供一个java生成条形码的实例给我,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
duanjudy
2011-06-23
打赏
举报
回复
我也想恩怎么运行?
gao2265752
2010-06-23
打赏
举报
回复
怎么运行
xjlgy
2010-05-11
打赏
举报
回复
barcode4j
zclove
2010-05-11
打赏
举报
回复
第一个方法,参数说详细一点啊
gaokong7268182
2010-05-11
打赏
举报
回复
气愤,、、、、、
hehanjm
2010-05-11
打赏
举报
回复
二楼的是怎么run起来的?
教教我呗!
heroshen1988
2010-05-11
打赏
举报
回复
[Quote=引用 1 楼 fairy_dy 的回复:]
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.su……
[/Quote]
学习了
ww_stone
2010-05-11
打赏
举报
回复
下载开源barcode
julian
2010-05-06
打赏
举报
回复
up!!!!!
zhangyongjun6244
2010-05-06
打赏
举报
回复
这可难了,图书馆有
好像是spring
这本书
hepeng_8
2010-05-06
打赏
举报
回复
我也学习一下
a312983516
2010-05-06
打赏
举报
回复
谁能说明一下 2楼那类怎么调用 调用哪个方法
java小牛1
2010-05-06
打赏
举报
回复
支持一下
whlcy
2010-05-06
打赏
举报
回复
up!!!!!
jypapgl
2010-05-06
打赏
举报
回复
got it!!!!!
tfish2014
2010-05-06
打赏
举报
回复
[Quote=引用 1 楼 fairy_dy 的回复:]
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.su……
[/Quote]
好用
Fairy_dy
2010-05-06
打赏
举报
回复
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.FileOutputStream;
import java.io.OutputStream;
import com.sun.image.codec.jpeg.ImageFormatException;
import java.io.IOException;
import java.util.Random;
/** *//**
* 符合BarCode 39规范的条码图像生成器
* @author ChenLiang & LiGuang
*/
public class BarCodeImage
{
private static final int rate = 3; //条码宽条与窄条宽度之比
private int m_nNarrowWidth; //窄条的宽度像素数
private int m_nImageHeight; //条码的高度像素数
private boolean 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像素,条码高度是100像素;
*//*
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 ImageFormatException
* @throws IOException
*/
public void getImage(String strCodes, String path) throws ImageFormatException, IOException
{
String fileBar= System.getProperty("file.separator");
File myPNG = new File(path);
OutputStream out = new FileOutputStream(myPNG);
if (null==strCodes || null==out || 0==strCodes.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.BLACK);
int startx = 0;
for (int i = 0; i < strCodes.length(); i++)
startx = drawOneChar(g, startx, strCodes.charAt(i));
g.setColor(Color.WHITE);
g.fillRect(0, 33, nImageWidth, 13);
g.setColor(Color.BLACK);
g.drawString(strCodes, nImageWidth/4, 45);
if (m_bRotato) //旋转
bi = flipX2Y(bi);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(bi);
while(true) //图片生成完毕后,向下运行
{
if(myPNG.exists())
{
//System.out.println("---------over");
break;
}
}
}
/** *//**
* 辅助方法,绘制一个字符
* @param g 画布
* @param x 起始位置
* @param ch 要绘制的字符
* @return 下一个要绘制字符的位置
*/
private int drawOneChar(Graphics g, int x, char ch)
{
short sCode = getCharCode(ch);
for (int i = 0; i < 9; i++)
{
int width = m_nNarrowWidth;
if (((0x100 >>> i) & sCode) != 0)
width *= rate;
if ((i & 0x1) == 0)
g.fillRect(x, 0, width, m_nImageHeight);
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());
//请查看JDK
AffineTransform affineTransform = 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();
// 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(affineTransform,
// 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进制编码 n为0 w为1
private 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, 0x94, 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_chars[i])
return m_codes[i];
}
return 0;
}
//生成条形码的数据----8位随机字符串
public String barcodeData()
{
String dataFinal = null;
//String dataTemp = longDateFormat.format(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;
}
}
中医元仔智能医疗机器人-基于LangChain4j与阿里通义千问的中医诊疗对话AI-集成多轮对话记忆与RAG知识检索的智能助手-支持预约挂号与取消功能的医疗系统-采用
Java
17.zip
cursor免费次数用完中医元仔智能医疗机器人_基于LangChain4j与阿里通义千问的中医诊疗对话AI_集成多轮对话记忆与RAG知识检索的智能助手_支持预约挂号与取消功能的医疗系统_采用
Java
17.zip
LabVIEW结合YOLOv5与TensorRT实现高效并行推理及DLL封装技术在工业领域的应用 · DLL封装
LabVIEW平台结合YOLOv5和TensorRT进行高效并行推理的技术及其应用。首先简述了YOLOv5作为一种高效目标检测算法的优势,接着探讨了TensorRT作为深度学习推理引擎的作用,特别是在LabVIEW平台上通过DLL封装实现高效、灵活的模型推理。文中重点讲解了支持多模型并行推理的功能,使得视频和图片识别速度达到6ms以内。此外,还提供了从pt模型到engine模型的转换工具,以适应不同平台的需求。最后展示了该技术在工业自动化、视频监控、智能安防等领域的广泛应用前景,并强调了其高性能和灵活性。 适合人群:从事工业自动化、视频监控、智能安防等相关领域的技术人员,尤其是对深度学习技术和LabVIEW平台有一定了解的研发人员。 使用场景及目标:适用于需要高效视频和图片识别的场景,如工业自动化生产线的质量检测、视频监控系统的目标跟踪、智能安防系统的入侵检测等。目标是提升识别速度和准确性,优化资源配置,降低成本。 阅读建议:读者可以通过本文深入了解YOLOv5和TensorRT在LabVIEW平台上的集成方式和技术细节,掌握多模型并行推理的方法,从而更好地应用于实际项目中。
反弹头发福瑞特如果热隔热
如果如果热隔热隔热个人果然
MATLAB中ABS防抱死系统加入干扰并使用PID进行校正的方法 MATLAB
如何在MATLAB环境中构建ABS防抱死系统的模型,探讨了如何引入现实驾驶中的干扰因素,并使用PID控制器进行校正。首先,文章解释了ABS系统的基本原理及其重要性,然后逐步引导读者在MATLAB中建立ABS系统的模型,包括车辆轮胎、刹车系统和控制算法。接着,讨论了如何通过设置随机噪声或特定函数来模拟实际驾驶中的干扰因素。随后,深入讲解了PID控制器的工作机制及其在ABS系统中的具体应用,展示了如何通过调整PID参数来优化ABS系统的性能。最后,进行了仿真实验,验证了PID控制器的有效性和改进效果。 适合人群:汽车工程专业学生、研究人员以及对汽车控制系统感兴趣的工程师。 使用场景及目标:适用于希望深入了解ABS防抱死系统工作原理和技术实现的人群,旨在帮助他们掌握如何在MATLAB中建模、引入干扰因素并通过PID控制器进行校正的技术方法。 其他说明:本文不仅提供了理论知识,还包含了具体的实验步骤和结果分析,有助于读者全面理解和实践ABS系统的控制策略。
OTA升级方案上位机
源码
(支持整包和差分)
OTA升级方案上位机
源码
(支持整包和差分)
Web 开发
81,121
社区成员
341,742
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章