生成二维码导入Ireport

图片直接转换为输入流


#

标题

一、生成二维码并且将图片转换成为输入流

代码如下(示例):

public BufferedImage addLogo(BufferedImage bufferedImage) {Graphics2D graphics2D = bufferedImage.createGraphics();int width = bufferedImage.getWidth();int height = bufferedImage.getHeight();try {//添加二维码 中心的Logo  也可以手动设定Logo位置BufferedImage logo = ImageIO.read(new File("D:\\阿葵.jpg"));graphics2D.drawImage(logo, width / 5 * 2, height / 5 * 2, width / 5, height / 5, null);BasicStroke stroke = new BasicStroke(10, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL);graphics2D.setStroke(stroke);// 设置笔画对象//指定弧度的圆角矩形RoundRectangle2D.Float round = new RoundRectangle2D.Float(width / 5 * 2, height / 5 * 2, width / 5, height / 5, 20, 20);graphics2D.setColor(Color.white);graphics2D.draw(round);// 绘制圆弧矩形//设置logo 有一道灰色边框BasicStroke stroke2 = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);graphics2D.setStroke(stroke2);// 设置笔画对象RoundRectangle2D.Float round2 = new RoundRectangle2D.Float(width / 5 * 2 + 2, height / 5 * 2 + 2, width / 5 - 4, height / 5 - 4, 20, 20);graphics2D.setColor(new Color(128, 128, 128));graphics2D.draw(round2);// 绘制圆弧矩形graphics2D.dispose();bufferedImage.flush();} catch (IOException e) {e.printStackTrace();}return bufferedImage;}public InputStream createQrCode(int width, int height) {boolean flag = false;InputStream inputStream = null;if (width >= 0 && width <= 500 && height >= 0 && height <= 500) {Qrcode qrcode = new Qrcode();qrcode.setQrcodeVersion(4);//设置qrcode版本可选1~40qrcode.setQrcodeEncodeMode('B');//设置编码类型B表示二进制编码qrcode.setQrcodeErrorCorrect('M');//设置纠错类型M,表示15BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);//设置bufferImage宽高,色域Graphics2D graphics2D = bufferedImage.createGraphics();graphics2D.setBackground(Color.white);graphics2D.setColor(Color.BLACK);graphics2D.clearRect(0, 0, width, height);int prefix = 20;//设置偏移量try {byte[] bytes = content.getBytes("utf-8");if (bytes.length > 0 && bytes.length < 1000) {boolean[][] booleans = qrcode.calQrcode(bytes);for (int i = 0; i < booleans.length; i++) {for (int j = 0; j < booleans.length; j++) {if (booleans[i][j]) {//写入图片graphics2D.fillRect(i * 10 + prefix, j * 10 + prefix, 10, 10);}}}}graphics2D.dispose();//关闭画图bufferedImage.flush();//刷新//addLogo(bufferedImage);//ImageIO.write(bufferedImage, "png", img);//ByteArrayOutputStream 是可以讲文件接收到成为一个outputStreamByteArrayOutputStream os = new ByteArrayOutputStream();//ImageIo.write可以将文件转换成为一个输出流ImageIO.write(bufferedImage, "png",os);//ByteArrayInputStream  可以通过ByteArrayOutputStream os.toByteArray()输出的比特数组生成一个输出流  输出流->输入流inputStream=new ByteArrayInputStream(os.toByteArray());return inputStream;} catch (IOException e) {e.printStackTrace();}}return inputStream;}

2.读入数据

代码如下(示例):

data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

生成二维码并且将生成图片转换成输入流相关推荐

  1. React生成二维码并将canvas转换成img格式

    1. 导入包生成二维码 npm install qrcode.react npm包链接: https://www.npmjs.com/package/qrcode.react 1.1 生成二维码: i ...

  2. vue实现生成二维码,并生成图片

    vue实现生成二维码,并生成图片 1.安装插件 npm install qrcodejs2 --save npm install --save html2canvas 2.导包 import html ...

  3. Java生成二维码并将其绘制成个人名片图片

    一.生成二维码 1.导入依赖 <dependency><groupId>QRCode</groupId><artifactId>QRCode</a ...

  4. 生成二维码并将Bitmap保存成图片

    本来项目集成的Zxing Bitmap qrCode = EncodingHandler.createQRCode(shareUrl, DimenUtils.dp2px(105)); 虽然这个类生成的 ...

  5. java批量生成二维码图片,并打包成zip

    最近开发遇到了一个批量打印二维码并生成zip包的需求,先记录下来 pom依赖 <!--添加二维码依赖包--><dependency><groupId>com.goo ...

  6. java如何批量生成二维码,并返回成压缩包形式?

    最近有点忙,现在稍微闲一些,就想写写最近遇到的一些业务. 业务:后台根据前端传入的需生成的数量,生成二维码图片并统一打包成压缩包返回. 效果图: 首先根据一定规则生成二维码字符串,然后返回成list( ...

  7. java语言批量生成二维码

    背景: 在智物项目中,为了物品入库.借用.归还方便,减少用户的操作,使用扫描二维码的方式进行操作,那么如何java 后端生成二维码传入到前端就成了一个问题 业务分析: 1.寻找一个二维码的pfd文件类 ...

  8. 前端js html转换成pdf可下载打印;前端js可批量生成条形码;前端js可批量生成二维码,生成letter标签

    注意:本文调试的是letter纸尺寸 前端js html转换成pdf可下载打印  html2canvas  + jspdf 前端js生成条形码 Options · lindell/JsBarcode ...

  9. dom 生成图片和链接生成二维码

    1. dom 生成图片 此处使用的是 html2canvas 插件 和canvas2image插件 html2canvas 方法的第二个入参还有很多选项可以配置,详情请看这里这里 html 1 < ...

最新文章

  1. 多线程解决rospy.spin()语句之后,程序不再往下执行问题
  2. CentOS、Ubuntu、Debian三个linux比较异同
  3. search strategies
  4. angularjs ajax header,angularJs/ajax跨域请求携带cookies
  5. Thymeleaf th:include、th:replace使用
  6. 与殿堂级大师隔空对话——一张纸是怎么限制了我们的想象力
  7. Hazelcast入门指南第3部分
  8. 双路服务器单路运行,单路还是双路?看需求选择_机箱电源评测-中关村在线
  9. 中国以 34% 的 5G 专利完胜美国、芬兰和韩国!
  10. 容器List之ArrayList详解
  11. Spring 最常用的 7 大类注解,女媛史上最强整理!
  12. 汉字转换拼音及首字母
  13. (第二天)编写训练记忆软件--数字编码矩阵V1.0
  14. 趋势交易大师php,大道至简——多级别均线共振交易系统
  15. Sky Blue And Black
  16. python-套接字基础与 UDP 通信
  17. 解决tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0,32] = -1 is not in [0, 50)
  18. 微信html抽奖转盘代码,使用CSS3+jquery.js 实现微信抽奖转盘效果
  19. 前端开发基础 HTML+CSS+JS
  20. 21 个好用的持续集成工具,总有一款适合你

热门文章

  1. 【C#】跨平台UI库Avalonia的学习笔记(上)
  2. hype3 响应布局_使用Hype 3的基于时间轴的Web动画
  3. deployment的yaml说明
  4. 计算机正确开关机教案ppt,信息技术计算机开关机的正确操作ppt课件.ppt
  5. pythonString
  6. 慕课网模抖音小程序 springboot笔记
  7. 转自看雪——Hackshield内幕(thisIs)
  8. 理解场效应管的可变电阻区、饱和区、截止区
  9. 网络封包截取工具——charles
  10. netty之微信-Netty 是什么?(三)