1、生成二维码

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。

Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。本文引用zxing.dll,生成二维码。

  1. using com.google.zxing.qrcode;
  2. using com.google.zxing;
  3. using com.google.zxing.common;
  4. using ByteMatrix = com.google.zxing.common.ByteMatrix;
  5. using EAN13Writer = com.google.zxing.oned.EAN13Writer;
  6. using EAN8Writer = com.google.zxing.oned.EAN8Writer;
  7. using MultiFormatWriter = com.google.zxing.MultiFormatWriter;
  8. using System.IO;
  9. using System.Collections;
  10.  
  11. private void btnGenerate_Click(object sender, EventArgs e)
  12. {
  13. ByteMatrix byteMatrix;
  14. string content = this.textBox1.Text;
  15.  
  16. if (!string.IsNullOrEmpty(content))
  17. {
  18. byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, , );
  19. bitmap = ToBitmap(byteMatrix);
  20. }
  21.  
  22. this.pictureBox1.Image = bitmap;
  23. mapCreate = bitmap;
  24. }
  25.  
  26. public static Bitmap ToBitmap(ByteMatrix matrix)
  27. {
  28. int width = matrix.Width;
  29. int height = matrix.Height;
  30. Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
  31. for (int x = ; x < width; x++)
  32. {
  33. for (int y = ; y < height; y++)
  34. {
  35. bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != - ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
  36. }
  37. }
  38. return bmap;
  39. }

2、加图片水印

  1. //图片水印处理方法
  2. private Bitmap ImageWatermark(Bitmap map, string waterpath)
  3. {
  4. Image waterimg = Image.FromFile(waterpath);
  5.  
  6. //添加水印
  7. Graphics g = Graphics.FromImage(map);
  8.  
  9. //获取水印位置设置
  10. ArrayList loca = new ArrayList();
  11. int x = ;
  12. int y = ;
  13. x = map.Width / - waterimg.Width / ;
  14. y = map.Height / - waterimg.Height / ;
  15. loca.Add(x);
  16. loca.Add(y);
  17.  
  18. //g.DrawImage(waterimg, new Rectangle(int.Parse(loca[0].ToString()), int.Parse(loca[1].ToString()), waterimg.Width, waterimg.Height));
  19. g.DrawImage(waterimg, new Rectangle(int.Parse(loca[].ToString()), int.Parse(loca[].ToString()), , ));
  20.  
  21. return map;
  22. }

3、导出

  1. //先添加 saveFileDialog控件 
  2.  
  3. private void btnOut_Click(object sender, EventArgs e)
  4. {
  5. try
  6. {
  7. saveFileDialog1.ShowDialog();
  8. string fileName = saveFileDialog1.FileName;
  9.  
  10. if (fileName != null)
  11. {
  12. mapCreate.Save(fileName);//mapCreate是bitmap格式的图片
  13. }
  14. }
  15. catch (Exception ex)
  16. {
  17. throw;
  18. }
  19. }

引用ZXing生成二维码的更多相关文章

  1. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  2. zxing生成二维码设置边框颜色

    真是研究了很久很久,满满的泪啊 zxing生成二维码,默认是可以增加空白边框的,但是并没有可以设置边框颜色的属性. 其中增加空白边框的属性的一句话是: Map hints = new HashMap( ...

  3. java学习-zxing生成二维码矩阵的简单例子

    这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件,也可使用maven添加依赖 <dependency> <gr ...

  4. 通过zxing生成二维码

    二维码现在随处可见,在日常的开发中,也会经常涉及到二维码的生成,特别是开发一些活动或者推广方面的功能时,二维码甚至成为必备功能点.本文介绍通过 google 的 zxing 包生成带 logo 的二维 ...

  5. 使用google zxing生成二维码图片

    生成二维码工具类: 1 import java.awt.geom.AffineTransform; 2 import java.awt.image.AffineTransformOp; 3 impor ...

  6. C# WPF使用ZXing生成二维码ImageSource

    介绍: 如果需要实在WPF窗体程序中现类似如下的二维码图片生成功能,可以通过本文的方法实现 添加步骤: 1.在http://zxingnet.codeplex.com/站点上下载ZXing .Net的 ...

  7. Google Zxing 生成二维码

    Net Zxing 源码地址 http://zxingnet.codeplex.com/ github 地址 https://github.com/zxing/zxing 新建一个Winform 项目 ...

  8. Java使用ZXing生成二维码条形码

    一.下载Zxingjar包 本实例使用的是 zxing3.2.0的版本  下载地址 http://pan.baidu.com/s/1gdH7PzP 说明:本实例使用的3.2.0版本已经使用的java7 ...

  9. 提高zxing生成二维码的容错率及zxing生成二维码的边框设置

    最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...

随机推荐

  1. Oracle 时段负载情况

    ALTER session SET nls_date_format='yyyy-mm-dd hh24:mi:ss'; SELECT *  FROM ( SELECT A.INSTANCE_NUMBER ...

  2. ZT Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性

    Android布局]在程序中设置android:gravity 和 android:layout_Gravity属性 分类: [Android基础] 2011-04-19 16:06 54739人阅读 ...

  3. 高性能计算 GPU 等资料

    从石油领域的应用看GPU.CPU算法效果比较  http://www.csdn.net/article/2011-06-21/300207 HPC 论坛 http://hpcbbs.it168.com ...

  4. ORACLE查询删除重复记录

     比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 复制代码 代码如下: select p1.*   from persons  p1,pers ...

  5. 「CF375D Tree and Queries」

    题目 \(dsu\ on\ tree\)的板子题了 \(dsu\ on\ tree\)本质上一种优秀通过轻重链剖分优化到\(O(nlogn)\)的暴力 一般用来解决没有修改的允许离线的子树查询问题 首 ...

  6. 如何调试在OJ中的代码

    在OJ上的原始程序: class Solution { public: ) return; ; ; while(*str != '\0'){ if(*str == ' '){ blank++; len ...

  7. Java之生成Pdf并对Pdf内容操作

    虽说网上有很多可以在线导出Pdf或者word或者转成png等格式的工具,但是我觉得还是得了解知道是怎么实现的.一来,在线免费转换工具,是有容量限制的,达到一定的容量时,是不能成功导出的;二来,业务需求 ...

  8. mysql忘记密码重置密码方法

    https://blog.csdn.net/weidong_y/article/details/80493743

  9. bit and sbit---c51

    bit和sbit都是C51扩展的变量类型. bit和int char之类的差不多,只不过char=8位, bit=1位而已.都是变量,编译器在编译过程中分配地址.除非你指定,否则这个地址是随机的.这个 ...

  10. 初窥UIKit Dynamics

    原文来自这里. iOS7中可以方便的给物体添加动态物理特性,主要使用到UIDynamicAnimator,UIDynamicBehavior以及实现了UIDynamicItem协议的对象.在iOS7中 ...