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 ...
随机推荐
- 新部署tomcat,An error occurred at line: [1] index_jsp.java
环境: centos6.5 32位 oracle jdk 1.8 tomcat 7 问题: yum install tomcat后,返回如下错误: [root@centos]~# curl -v ht ...
- java编程思想(2)--一切都是对象
1创建对象 String s ;创建引用,并未初始化,即引用未关联任何东西 String s2="asda"; 初始化 System.out.println(s2); System ...
- JAVA Aes加解密详解
上篇随笔留了一个问题,两种加密结果不一样? 其实是内部实现方式不一样,具体见注释 /** * 提供密钥和向量进行加密 * * @param sSrc * @param key * @param iv ...
- leetcode15
class Solution { public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); Li ...
- <记录> PHP监控进程状态,完成掉线自动重启
1. 利用Shell脚本实现 #!/bin/bash PORT= while [ true ];do read -p "please enter the port that you want ...
- django-celery使用
1.新进一个django项目 - proj/ - proj/__init__.py - proj/settings.py - proj/urls.py - manage.py 2.在该项目创建一个pr ...
- React Native在window下的环境搭建(一)
React Native官方开发文档 以下是本人抄录的: 初次接触React Native感觉和React很像,却是有点类似,但不完全是,React Native有自己的组件对象,不过它也自定义的组件 ...
- 安装好ubuntu双系统启动时卡死解决办法
问题描述:在安装完ubuntu双系统后,第一次启动ubuntu系统时,卡死在启动界面(或者黑屏),这大概都是由于显卡驱动的原因,具体不在这里阐述,通过以下方法能成功解决,据我个人经验,这可能是诸多方法 ...
- 【Nodejs】Expressのサンプルについて
全体の実行命令: ①c:\workspace>node XXX.js ②ブラウザに「http://localhost:3000」を入力 ▲サンプル① ・ソース(express_demo.js) ...
- 语义分割之Dual Attention Network for Scene Segmentation
Dual Attention Network for Scene Segmentation 在本文中,我们通过 基于自我约束机制捕获丰富的上下文依赖关系来解决场景分割任务. 与之前通过多尺 ...