- 浏览: 259733 次
- 性别:
- 来自: 长沙
-
文章分类
最新评论
-
aaddsfdsfsdfs:
var map = new AMap.Map('contain ...
【map】使用高德地图显示地图轨迹 -
di1984HIT:
xiang
【linux】使用bind进行DNS配置 -
di1984HIT:
分别算么??
【java】改写js百度地图测距方法 -
di1984HIT:
不错不错。。
【LBS】使用高德地图实现轨迹路线 -
di1984HIT:
不好用啊???
【map】使用高德地图显示地图轨迹
如图片所示
这里采用方案是:
1,使用jbarcode生成一维条码。(这里需要注意一点,jbc.setCheckDigit(false)不需要验校验位,不然会出现数据长度问题)
2,使用java程序生成上半部信息。
3,将图片进行拼接。
以下是代码:

这里采用方案是:
1,使用jbarcode生成一维条码。(这里需要注意一点,jbc.setCheckDigit(false)不需要验校验位,不然会出现数据长度问题)
2,使用java程序生成上半部信息。
3,将图片进行拼接。
以下是代码:
package com.duduli.li; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.font.FontRenderContext; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; import org.jbarcode.JBarcode; import org.jbarcode.JBarcodeFactory; import org.jbarcode.encode.EAN13Encoder; import org.jbarcode.encode.InvalidAtributeException; import org.jbarcode.paint.TextPainter; import org.jbarcode.util.ImageUtil; public class BarcodeImageWithText { // 1,生成一维条码。 private static final int BARCODE_HEIGHT = 20; private static final int BARCODE_DPI = ImageUtil.DEFAULT_DPI; private static final String FONT_FAMILY = "console"; private static final int FONT_SIZE = 14; private static JBarcode jbc = null; static JBarcode getJBarcode() throws InvalidAtributeException { if (jbc == null) { jbc = JBarcodeFactory.getInstance().createEAN13(); jbc.setEncoder(EAN13Encoder.getInstance()); jbc.setTextPainter(CustomTextPainter.getInstance()); jbc.setBarHeight(BARCODE_HEIGHT); jbc.setXDimension(Double.valueOf(0.4).doubleValue()); jbc.setCheckDigit(false);// 对于固定条码的时候这里在条码中加入校验位,导致你写入13位提示14位 jbc.setShowText(true); } return jbc; } public static void createBarcode(String message) { try { File file = new File("d:/" + message + ".png"); FileOutputStream fos = new FileOutputStream(file); createBarcode(message, fos); fos.close(); } catch (IOException e) { throw new RuntimeException(e); } } public static void createBarcode(String message, OutputStream os) { try { BufferedImage image = getJBarcode().createBarcode(message); ImageUtil.encodeAndWrite(image, ImageUtil.PNG, os, BARCODE_DPI, BARCODE_DPI); os.flush(); } catch (Exception e) { throw new RuntimeException(e); } } protected static class CustomTextPainter implements TextPainter { private static CustomTextPainter instance = new CustomTextPainter(); public static CustomTextPainter getInstance() { return instance; } public void paintText(BufferedImage barCodeImage, String text, int width) { Graphics g2d = barCodeImage.getGraphics(); Font font = new Font(FONT_FAMILY, Font.PLAIN, FONT_SIZE * width); g2d.setFont(font); FontMetrics fm = g2d.getFontMetrics(); int height = fm.getHeight(); int center = (barCodeImage.getWidth() - fm.stringWidth(text)) / 2; g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, barCodeImage.getWidth(), barCodeImage.getHeight() * 1 / 20); g2d.fillRect(0, barCodeImage.getHeight() - (height * 9 / 10), barCodeImage.getWidth(), (height * 9 / 10)); g2d.setColor(Color.BLACK); g2d.drawString(text, center, barCodeImage.getHeight() - (height / 10) - 2); } } // 2, 生成头部的商品信息 public static void exportImg(List<String> list) { int width = 174; int height = 76; File file = new File("d:/image.png"); Font font = new Font("console", Font.BOLD, 14); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D) bi.getGraphics(); g2.setBackground(Color.WHITE); g2.clearRect(0, 0, width, height); g2.setPaint(Color.BLACK); for (int i = 0; i < list.size(); i++) { FontRenderContext context = g2.getFontRenderContext(); Rectangle2D bounds = font.getStringBounds(list.get(i), context); double x = (width - bounds.getWidth()) / 2; double y = (height - bounds.getHeight()) / 2; double ascent = -bounds.getY(); double baseY = y + (ascent * (i - 1)); g2.drawString(list.get(i), (int) x, (int) baseY); } try { ImageIO.write(bi, "png", file); } catch (IOException e) { e.printStackTrace(); } } // 3,合并图片 public static boolean mergeImage(String[] imgs, String type, String dst_pic) { int len = imgs.length; if (len < 1) { return false; } File[] src = new File[len]; BufferedImage[] images = new BufferedImage[len]; int[][] ImageArrays = new int[len][]; for (int i = 0; i < len; i++) { try { src[i] = new File(imgs[i]); images[i] = ImageIO.read(src[i]); } catch (Exception e) { e.printStackTrace(); return false; } int width = images[i].getWidth(); int height = images[i].getHeight(); ImageArrays[i] = new int[width * height]; ImageArrays[i] = images[i].getRGB(0, 0, width, height, ImageArrays[i], 0, width); } int dst_height = 0; int dst_width = images[0].getWidth(); for (int i = 0; i < images.length; i++) { dst_width = dst_width > images[i].getWidth() ? dst_width : images[i].getWidth(); dst_height += images[i].getHeight(); } if (dst_height < 1) { return false; } try { BufferedImage ImageNew = new BufferedImage(dst_width, dst_height, BufferedImage.TYPE_INT_RGB); int height_i = 0; for (int i = 0; i < images.length; i++) { ImageNew.setRGB(0, height_i, dst_width, images[i].getHeight(), ImageArrays[i], 0, dst_width); height_i += images[i].getHeight(); } File outFile = new File(dst_pic); ImageIO.write(ImageNew, type, outFile);// 写图片 ,输出到硬盘 } catch (Exception e) { e.printStackTrace(); return false; } return true; } public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("商品类型:手机"); list.add("品牌:魅族"); list.add("商品价格:3199"); list.add("有效时间:2019-6-30"); exportImg(list); String code = "6974323434245"; createBarcode(code); String s[] = { "d:/image.png", "d:/" + code + ".png" }; mergeImage(s, "png", "d:/code/code_" + code + ".png"); for (String str : s) { new File(str).delete(); } } }
发表评论
-
使用poi实现xlsx的读取
2018-08-31 17:01 672这里只是记录下,使用poi进行读取xlsx。 可以读取全部数据 ... -
spring boot + jpa实现数据查询工作
2018-08-28 12:38 2480前期已经将mybatis和hibernate已经进行了掌握。 ... -
使用程序实现截屏获取teamview登录信息
2018-04-16 10:42 574很多的时候,我们需要使用teamview进行远程登录。 比如现 ... -
【java】jfreechart退出图标程序继续
2014-11-24 11:34 829做一个窗体,然后调用jfreechart进行图标显示。 当关闭 ... -
【java】改写js百度地图测距方法
2014-08-08 11:41 1608百度地图测距js代码: var EARTHRADIUS = 6 ... -
【web service】使用cxf对客户端进行开发工作
2014-07-16 10:04 9341,在eclipse中建立一个java项目,为客户端调用web ... -
【java】图片传输方案
2014-05-04 09:59 4601之前做的web service 涉及到一些基础的传输,如基本类 ... -
【java】调用微软语音系统读取文本
2014-05-04 09:52 2459先期准备工作: 安装微软speechsdk51,下载j ... -
【java】试用讯飞SDK开发语音tts初步代码
2014-04-22 16:41 7230tts开发对中文并不很支 ... -
【java】字符串的压缩转码base64
2012-09-11 09:13 10669由于客户端与服务端之间采用web service的方式进行传输 ... -
【java】使用jna调用delphi编译dll总结
2012-09-04 11:29 1195调用dll中,可以的入参为pchar。返回的参数为pwidec ... -
【机器环境】java语言环境不同会出现莫名其妙的问题
2012-09-01 10:49 1031有这么一个功能: 模块是这样做的,因为做的是底层。 首先上层使 ... -
【java】试用JNA调用Delphi的dll方法。
2012-08-30 11:04 5125参考文章:http://hi.baidu.com/zuchan ... -
【java】对sql语句进行解析。
2012-08-29 16:25 7091因为在项目中需要对sql进行解析,那么所以业务逻辑比较复杂。 ... -
【接口开发】一个底层业务的很麻烦的接口开发
2012-08-29 14:53 999接口框架采用cxf,然后查询使用hibernate+sql的方 ... -
【java多线程】昨天的一个面试题目
2012-08-09 10:24 1097设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次 ... -
【一个笔试题目】java按字节进行截断
2012-08-08 22:21 1571不可否认,这是一个蛋疼的笔试题: 编程:编写一个截取字符串的函 ... -
【java】判断一个数是不是2的N次方
2012-08-01 19:10 9788第一种方法,对N进行循环除以2. public boolea ... -
java 加密。
2012-07-27 15:14 1087mark一下。 java下面的加密有三类,1,为sun自己的 ... -
【JAVA】加密解密(转http://www.wangchao.net.cn/bbsdetail_1742.html)
2012-03-05 11:42 1451package com.duduli.li; impor ...
相关推荐
项目资源包含:可运行源码+数据集+文档 python + numpy, pandas, matplotlib, pyecharts, wordcloud 适用人群:学习不同技术领域的小白或进阶学习者;可作为课程设计、大作业、工程实训或初期项目立项。 数据来源:数据集taxis.csv从网络下载 数据清洗:异常值与缺失值的处理:有一些数据distance(乘车距离)为零而且上下车地点为空,还有些一些数据的payment(支付方式)为空。 数据预处理:将列名更改成中文 标准化与归一化: 数据分析: 数据可视化:
TypeScript 入门教程
人脸识别项目实战
本资源汇总了 历届全国电子设计竞赛(电赛)真题+模拟题,涵盖 电路设计、嵌入式系统、信号处理、自动控制等核心考点,并提供详细解析及综合测评,帮助参赛者高效备赛、查漏补缺、提升实战能力。 适用人群: 适合 准备参加电子设计竞赛的大学生、电赛爱好者、电子信息类相关专业的学生,以及希望提高电子设计和电路分析能力的工程师。 能学到什么: 电赛考察重点:熟悉往届竞赛的命题方向及考核重点。 电路设计与仿真:提升模拟电路、数字电路、单片机等核心技能。 问题分析与解决能力:通过综合测评找到薄弱点并针对性提升。 实战经验:掌握竞赛策略,提高应试效率和设计能力。 阅读建议: 建议先 通读真题,了解题型与解题思路,然后 结合模拟题实战演练,查找不足并通过测评强化练习,逐步提升竞赛能力。
2024人工智能如何塑造未来产业:AI对各行业组织带来的的变革研究研究报告.pdf
人脸识别项目源码实战
给大家分享一套课程——Vulkan原理与实战课程
c语言学习
海豚鲸鱼数据集 5435张图 正确识别率可达92.6% 可识别:海豚 虎鲸 蜥蜴 海豹 鲨鱼 龟 支持yolov8格式标注
答谢中书书教学设计.docx
人脸识别项目源码实战
c语言学习
人脸识别项目源码实战
人脸识别项目实战
本美发门店管理系统有管理员和用户两个角色。用户功能有项目预定管理,产品购买管理,会员充值管理,余额查询管理。管理员功能有个人中心,用户管理,美容项目管理,项目类型管理,项目预定管理,产品库存管理,产品购买管理,产品入库管理,会员卡管理,会员充值管理,余额查询管理,产品类型管理,系统管理等。因而具有一定的实用性。 本站是一个B/S模式系统,采用SSM框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得美发门店管理系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高美发门店管理系统管理效率。 关键词:美发门店管理系统;SSM框架;MYSQL数据库;Spring Boot 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 2 2.1 MYSQL数据库 2 2.2 B/S结构 3 2.3 Spring Boot框架简介 4 3系统分析 4 3.1可行性分析 4 3.1.1技术可行性 4 3.1.2经济可行性 5 3.1.3操作可行性 5 3.2系
内容概要:本文档介绍了基于SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测的详细项目实例,重点讲述了该项目的背景、目标、挑战与解决方案、技术特点、应用领域等方面的内容。文档详细记录了从项目启动、数据预处理、算法设计(SSA优化CNN-GRU模型)、构建与评估模型到实现美观的GUI界面整个过程,并讨论了防止过拟合的技术如正则化、早停和超参数优化。另外还涵盖了项目扩展的可能性、部署和应用策略、需要注意的地方以及未来改进的方向。全文强调了模型的泛化能力和计算效率,展示了该混合算法模型在实际应用中的优越性能。 适合人群:具备一定的Python编程经验及机器学习基础知识的研究人员和技术人员;对深度学习、智能优化算法及实际应用感兴趣的学者和从业者;寻求提升数据分析和预测准确性的金融分析师、数据科学家等相关专业人士。 使用场景及目标:本文档非常适合用作学习和参考资料,以掌握如何将SSA、CNN与GRU三种先进技术结合起来进行复杂的分类和预测问题求解。具体应用场景包括但不限于以下几个方面:金融领域——股票价格预测;医疗保健领域——辅助诊断;工业制造——预防性维护;智能家居——个性化服务;以及其他涉及到时序数据分析和多模态数据处理的场合。文档既包含了理论知识又提供了完整的源代码示例,可以帮助读者理解算法原理并通过实践中加深对其的认识。 其他说明:该项目不仅仅是关于算法的设计实现,更是有关于系统的整体架构规划以及工程上的考量,比如环境准备(确保环境洁净、必要包的安装等)、数据准备、GPU配置支持等等。同时文中给出了详细的代码片段,方便开发者理解和复现实验成果。值得注意的是,虽然文中提供了一套通用解决方案,但在真实场景下还需要针对性的调整参数或修改网络结构来达到最好的性能效果。此外,对于追求更高的预测精度或解决更大规模的问题,作者建议进一步探索深度强化学习等高级技术和多任务学习策略,并且考虑使用增量学习让模型能够适应新数据而不必重新训练整个模型。最后提到安全性和隐私保护也是项目实施过程中的重要因素,要妥善保管用户的敏感信息并且做到合法合规地收集和使用数据。
人脸识别项目实战
人脸识别项目实战
水下垃圾检测数据集,基于voc和yolo标注的两种格式,共23,056个文件,已经划分了训练集和验证集、测试集。并且提供了真实水下的视频数据,可以用作视频推理
(参考GUI)MATLAB车辆检测.zip