资源简介
实现思路:
1、获取图片的二值化字节数组 这一步是关键
2、将字节数组转为十六进制
3、压缩十六进制字符串 结尾为1、0或者与上一行相同的;相同的连续字符压缩
4、拼凑ZPL编码,宽度需要扩大,因为需要时8个点(1字节)的整数倍
代码片段和文件信息
package image;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.io.IOException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 在 erp中单独使用
* 实现思路:
* 1、获取图片的二值化字节数组 这一步是关键
* 2、将字节数组转为十六进制
* 3、压缩十六进制字符串 结尾为1、0或者与上一行相同的;相同的连续字符压缩
* 4、拼凑ZPL编码,宽度需要扩大,因为需要时8个点(1字节)的整数倍
* Created by guzy on 17/11/12.
*/
public class Image2Zpl {
static Pattern ZEROS=Pattern.compile(“0+$“)ONES=Pattern.compile(“1+$“)MULTI_W=Pattern.compile(“([0-9A-Z])\\1{2}“);
public static void main(String[] args) throws IOException {
System.out.println(“^XA“+image2Zpl(ImageIO.read(new URL(“http://jxc-storage.oss-cn-shanghai.aliyuncs.com/0cac85f28e42f6f811fc63b4067cae21.jpg“)))+“^XZ“);
}
public static String image2Zpl(BufferedImage image) {
//获取图片的字节数组
DataBufferByte data=(DataBufferByte) getBinaryGrayImage(image).getRaster().getDataBuffer();
byte[] imgData=data.getData();
int newW=(image.getWidth()+7)/8;//实际每行字节大小,8个点,每个点1位,共8位
String[] strs=byte2HexStr(imgDatanewW);
int bytes=imgData.length;
return String.format(“^XA^GFA%d%d%d%s^FS^XZ“ bytes bytes newW compress(strs));
}
/**
* 获取二值化图,并取反
* @param srcImage
* @return
*/
private static BufferedImage getBinaryGrayImage(BufferedImage srcImage) {
BufferedImage dstImage = new BufferedImage(srcImage.getWidth() srcImage.getHeight() BufferedImage.TYPE_BYTE_BINARY);
dstImage.getGraphics().drawImage(srcImage 0 0 null);
for (int y = 0; y < dstImage.getHeight(); y++) {
for (int x = 0; x < dstImage.getWidth(); x++) {
Color color = new Color(dstImage.getRGB(x y));
//获取该点的像素的RGB的颜色
Color newColor = new Color(255 - color.getRed() 255 - color.getGreen() 255 - color.getBlue());
dstImage.setRGB(x
- 上一篇:国密算法SM4加解密算法JAVA
- 下一篇:基于java开发的考勤管理系统
相关资源
- Java图片压缩带EXIF信息
- Java多线程自动播放图片的小程序
- JAVA自动获取文件的编码工具类
- java代码实现图片压缩
- java des算法实现加密文字以及图片
- word转html可设置编码方式
- 用java读取bmp格式图片文件
- 保存图片到相册
- 简单的JAVA 3D球编码
- Java写的为图片添加水印的软件含源代
- Android图片涂鸦源码
- Java实现的简单JPEG编码程序
- 高级画板项目图片集
- javaweb入门实现图片上传,图片加载,
- Jsp九大内置对象代码
- TIFF图片压缩工具
- android点击查看大图,ViewPager实现左右
- android圆形图片控件
- JAVA在服务器端和客户端传输图片和文
- 北京联通全网有关网上订购和点播接
- Android ListView控件显示数据库中图片
- java实现图片打印功能
- java 实现十六进制数转为图片
- EncodingDetect.jar
- 将一段文字转化为哈夫曼编码JAVA实现
- java处理图片大小等比例缩放,自定义
- 生成图片html2image-0.9.jar
- android 中图片资源的加密
- jspSmartUpload.jar(默认支持UTF-8编码)
- android触摸时扭曲变形图片照片,图片
评论
共有 条评论