writeImageLocal(filePath, createImages(content, imgPath, 120, true));
/**
* 生成新图片
*/
public BufferedImage writeImageLocal(String filePath, BufferedImage img) {
BufferedImage im = null;
if (filePath != null && img != null) {
try {
File outputfile = new File(filePath);
ImageIO.write(img, "jpg", outputfile);
File image = new File(filePath);
im = ImageIO.read(image);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
return im;
}
/**
* 自定义生成二维码尺寸
* @param content
* @param imgPath
* @param needCompress
* @return
* @throws Exception
*/
public static BufferedImage createImages(String content, String imgPath,Integer size,
boolean needCompress) throws Exception {
Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
BarcodeFormat.QR_CODE,size, size, hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
: 0xFFFFFFFF);
}
}
if (imgPath == null || "".equals(imgPath)) {
return image;
}
// 插入图片
MyQRCodeUtil.insertImage(image, imgPath, needCompress);
return image;
}
/**
* 插入LOGO
*
* @param source
* 二维码图片
* @param imgPath
* LOGO图片地址
* @param needCompress
* 是否压缩
* @throws Exception
*/
private static void insertImage(BufferedImage source, String imgPath,
boolean needCompress) throws Exception {
File file = new File(imgPath);
if (!file.exists()) {
log.error(""+imgPath+" 该文件不存在!");
return;
}
Image src = ImageIO.read(new File(imgPath));
int width = src.getWidth(null);
int height = src.getHeight(null);
if (needCompress) { // 压缩LOGO
if (width > WIDTH) {
width = WIDTH;
}
if (height > HEIGHT) {
height = HEIGHT;
}
Image image = src.getScaledInstance(width, height,
Image.SCALE_SMOOTH);
BufferedImage tag = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 绘制缩小后的图
g.dispose();
src = image;
}
// 插入LOGO
Graphics2D graph = source.createGraphics();
int x = (QRCODE_SIZE - width) / 2;
int y = (QRCODE_SIZE - height) / 2;
graph.drawImage(src, x, y, width, height, null);
Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
graph.setStroke(new BasicStroke(3f));
graph.draw(shape);
graph.dispose();
}
分享到:
相关推荐
二维码图片生成器是一种实用工具,它能够将各种信息编码成二维条形码,即二维码,然后将这些二维码以图像的形式展现出来。这种技术在现代社会中广泛应用,如产品标识、网址链接、电子名片、支付信息等。下面我们将...
在线二维码图片生成器是一种便捷的工具,它允许用户通过网页浏览器快速创建二维码,而无需安装任何桌面应用程序。这种服务在现代社会极为实用,因为二维码已经广泛应用于各种场景,如广告、营销、信息分享、网站链接...
二维码图片生成源代码是计算机编程领域中涉及到的一种技术,它主要利用特定的库或工具,如本例中的qrencode,来将数据编码为二维图形,即二维码。二维码是一种广泛应用于移动设备、产品包装、广告等多个领域的条形码...
C#二维码图片生成,二维码图片解码含源代码 比较适合初学和进阶学者,使用的是com.google.zxing.common库 将指定的文字或数字生成二维码图片 将生成的二维码图二内容进行解码成对应的文字或数字。 可进行设置图片的...
Shell脚本是Linux系统中的一种...总的来说,Shell脚本实现二维码图片生成是一个实用的技术,它展示了如何利用Linux命令行工具解决实际问题。无论是在旧系统的改造还是新系统的开发中,掌握这样的技能都能提高工作效率。
下面将详细解释如何通过Servlet实现二维码图片生成的原理和步骤。 首先,理解二维码的基本概念。二维码是一种二维条形码,可以存储比传统一维条形码更多的信息,如文本、网址、联系人信息等。它由黑白相间的模块...
以下是关于C#二维码图片生成和解码的关键知识点: 1. **库的引入**: - 在C#中,可以使用第三方库如`QRCoder`或`ZXing.Net`来处理二维码的生成和解码。这些库提供了简单易用的API,能够快速集成到项目中。 2. **...
二维码图片生成代码主要涉及到计算机视觉、图像处理以及数据编码领域,是现代信息技术中常见的应用之一。二维码(Quick Response Code)是一种二维条形码,能够存储大量数据,包括文本、URL、联系信息等,并且可以...
【标题】:“.net非常好的二维码图片生成系统源码”指的是基于.NET框架开发的高质量二维码生成与解析的系统源代码。这种系统通常包含了完整的解决方案(Solution)文件,用于在Visual Studio等开发环境中打开和编译...
在线二维码图片生成器是一种工具,它允许用户通过网络创建二维码,这些二维码可以包含各种信息,如网站链接、文本、联系信息等。此源码是基于ZXing.NET开发的,ZXing(Zebra Crossing)是一个开源的、跨平台的条形码...
二维码图片生成是一个常见的IT技术应用,它涉及到编码、图像处理以及软件开发等多个领域。二维码,全称为二维条形码,是一种能够存储大量信息的图形化数据载体,比传统的条形码具有更高的信息密度和容错能力。在现代...
【基于PHP的在线二维码图片生成器】是一种利用PHP编程语言实现的Web应用程序,它能够将各种数据转换为可扫描的二维码图像。这个压缩包文件包含了实现这一功能的源代码和其他相关资源,帮助开发者构建一个能够在线...
此示例是对应用RCODE生成的二维码图片的源码,环境依赖JDK1.6版本的编译器,经实际测试,生成的二维码图片在电脑屏幕上用PDA手持机都能轻松的读取其中的数据,很好用。直接执行QRCodeEncoderTest.java文件就可以运行...
【PHP实例开发源码——php在线二维码图片生成器】是一个基于PHP编程语言的项目,用于创建和生成在线的二维码图片。这个源码提供了一个实用的功能,使得网站或应用的用户可以方便地将文本数据转化为二维码图像,从而...
而二维码图片生成器则是利用特定算法将数据编码成二维图形,用户可以通过扫描这些图形来获取存储的信息。 在描述中提到的“在线”部分,意味着这个源码是设计用来通过互联网提供服务的,用户无需下载安装任何软件,...
net非常好的二维码图片生成系统源码
java 二维码图片生成+图片转换字符图片。 效果: https://blog.csdn.net/qq_37902949/article/details/81228320 https://blog.csdn.net/qq_37902949/article/details/81228566
二维码图片生成器,这个例子实现的是使用 DotNetBarcode.dll 提供的,实现二维码的生成,方便好用。 这个例子实现的是使用Android代码结合Google提供的开源项目ZXing实现二维码的生成,其中包含条形码的生成和解码 ...
二维码图片生成Java代码实例
【PHP实例开发源码-php在线二维码图片生成器.zip】是一个包含PHP代码的压缩包,用于创建在线二维码图片生成器。这个工具允许用户通过输入特定的数据(如网址、文本或条形码信息),自动生成对应的二维码图像。二维码...