C#+ZXing.dll生成手机路径导航二维码
1、原谅我先写点废话哈
这两天用C#写一个C端的软件,甲方提出一个很无理的需求(在C端的程序中实现路径导航,关键是这个程序最终是运行在物理隔绝的电脑上的……),头疼了好几天,领导突然想到可以把坐标+百度API的网址直接生成一个二维码,然后使用手机的百度地图一扫,直接就是路径导航界面,问题解决了!!!
2、这里进入正题:
(1)生成二维码需要使用ZXing.dll,因此需要实现下载你所需版本的dll(具体的下载方法可以在管网下载,也可以使用VS的NuGet管理包)。
(2)这一步就直接上代码了(这段代码可以直接复制使用)
public void CreateQRFile()
{
string[] lpValues_Begin = new string[] { "117.25896", "33.256" };
string[] lpValue_End = new string[] { "118.57894", "34.2589" };
StringBuilder lpBuilder = new StringBuilder();
//必须是纬度在前,经度在后
lpBuilder.AppendFormat("baidumap://map/direction?origin={0},{1}&destination={2},{3}&coord_type=bd09ll&mode=driving&src=ios.baidu.openAPIdemo",
lpValues_Begin[], lpValues_Begin[], lpValue_End[], lpValue_End[]);
Image lpImg = CreateImageQR(lpBuilder.ToString());
string lpFile_Target = @"C:\Users\Administrator\Desktop\0328.png";
lpImg.Save(lpFile_Target);
} /// <summary>
/// 生成指定内容对应的二维码
/// </summary>
/// <param name="pContents">待生成内容</param>
/// <returns>二维码图片</returns>
private static Image CreateImageQR(string pContents)
{
BarcodeWriter lpOpra_CodeWriter = new BarcodeWriter();
lpOpra_CodeWriter.Format = BarcodeFormat.QR_CODE;
lpOpra_CodeWriter.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//编码
lpOpra_CodeWriter.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
const int codeSizeInPixels = ;//设置图片长宽
lpOpra_CodeWriter.Options.Height = lpOpra_CodeWriter.Options.Width = codeSizeInPixels;
lpOpra_CodeWriter.Options.Margin = ;//设置边框
ZXing.Common.BitMatrix bm = lpOpra_CodeWriter.Encode(pContents);
Bitmap lpImg_QR = lpOpra_CodeWriter.Write(bm);
return lpImg_QR;
}
(3)代码中的那个字符串是百度地图专用的,如果使用高德地图需要把那个字符串替换成高德的API使用方式。
(4)功能限制:目前这段代码只是把一段文字生成了二维码,至于图片等信息目前还没有深入研究,不过看过其他人的博客,形式跟这个基本类似,小伙伴可以自己研究一哈。
【我的这篇文章参考了其他伙伴的生成二维码的实现,在这里对他(http://www.cnblogs.com/WhyShang/)表示感谢。】
C#+ZXing.dll生成手机路径导航二维码的更多相关文章
- 【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错
原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/ ...
- Android 基于google Zxing实现对手机中的二维码进行扫描
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的 ...
- .NET使用ZXing.NET生成中间带图片的二维码
很久之前就有写这样的代码了,只是一直没记录下来,偶然想写成博客. 把之前的代码封装成函数,以方便理解以及调用. 基于开源的 ZXing.NET 组件,代码如下: 先添加对ZXing.NET的引用,然后 ...
- C# 生成 DataMatrix 格式的二维码
该文主要是利用OnBarcode.dll 生成 DataMatrix 格式的二维码的一些简单方法和操作技巧.关于QrBarcode的二维码比较常见和简单,网上有很多资源. 1.附件为dll 2.利用上 ...
- C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(二)
1.使用ZXint.Net生成带logo的二维码 /// <summary> /// 生成带Logo的二维码 /// </summary> /// <param name ...
- C#使用zxing,zbar,thoughtworkQRcode解析二维码,附源代码
最近做项目需要解析二维码图片,找了一大圈,发现没有人去整理下开源的几个库案例,花了点时间 做了zxing,zbar和thoughtworkqrcode解析二维码案例,希望大家有帮助. zxing是谷歌 ...
- 【转】Android手机客户端关于二维码扫描的源码--不错
原文网址:https://github.com/SkillCollege/QrCodeScan QrCodeScan 这是Android手机客户端关于二维码扫描的源码,使用了高效的ZBar解码库,并修 ...
- PHP生成有背景的二维码图,摘自网络
有一天产品MM高高兴兴的走过来,兴奋的和我分享她想出来的一个新的idea. 产品MM:你看这个(她指了指她的手机),一脸兴奋 那是一张带着二维码的图片,内容如下: 她接着说:如果我们的分销也能做成类似 ...
- php生成微信小程序二维码源码
目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取 access_token public function getWxAccessToken(){ $appid ...
随机推荐
- IDEA常用快捷键,收藏以备后用
IntelliJ Idea 常用快捷键列表 Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Sh ...
- Django模板语言相关内容 Djan
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
- 并发中的volatile
目录 1. 概述 2. volatile的特性 3. volatile写-读的内存语义 4. volatile内存语义的实现 5. JSR-133为什么要增强volatile的内存语义 6. 总结 1 ...
- c++冒号作用
转自http://www.360doc.com/content/13/0605/11/3373961_290615318.shtml 1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bi ...
- combox省市县三级联动
/** * Name 获取省份(初始化) */ function showProvince(id1, id2, id3) { var paramData = {}; $.ajax({ url: osp ...
- mysql_day04
MySQL-Day03回顾1.索引 1.普通索引 index 2.唯一索引(UNI,字段值不允许重复,但可以为NULL) 1.创建 1.字段名 数据类型 unique 2.unique(字段名), u ...
- 十、Strategy 策略模式
需求:使用不同的算法解决相同的问题 设计原理: 代码清单: 接口 Strategy public interface Strategy { public abstract Hand nextHand( ...
- 两种序列化的方法 Serializable Parcelable
原文:https://blog.csdn.net/hacker_crazy/article/details/80840868 一.Serializable 1.Serializable 是java的序 ...
- Python SMTP发送邮件
import smtplibfrom email.mime.text import MIMEText # 引入smtplib和MIMEText host = 'smtp.163.com' # 设置 ...
- adb pull 文件夹到电脑
正常来讲是支持文件夹的. 但实际执行的时候发现: pull: building file list...0 files pulled. 0 files skipped. 其实出现这个提示,归根到底还是 ...