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 ...
随机推荐
- Django Forms 表单
环境 python 3.7 服务端 views.py from django import forms # 引入 froms 模块 from django.forms import widgets ...
- gitlab Api接口使用
官方文档 https://docs.gitlab.com/search/?q=api&idx=gitlab&p=1 示例:获取每个项目下的用户信息 #!/usr/bin/env pyt ...
- thinkphp5.0 - Redis 实现秒杀
首先,因为秒杀这个环节在商城项目中比较常见,最近写商城项目,碰到这个功能模块,于是就拿出来给大家分享一波. 难点:高并发的情况下,正常逻辑写的话数据库的库存会出现负数,对付这类问题有很多解决方案,我就 ...
- python入门学习1
实学习每一种语言,都可以找到很快乐的学习方法.有兴趣,有乐趣,才会一直想学.知道print().input().if/else就可以做一个简陋的游戏了. print() # 打印函数,将信息打印出来 ...
- Linux命令行报错 bash: cannot create temp file for here-document: No space left on device
今天Linux服务器出问题了,使用"tab"补全命令时,提示 bash: cannot create temp file for here-document: No space l ...
- Linux Tomcat安装部署项目
一.上传Tomcat服务器
- 云笔记项目-补充JS面向对象编程基础知识
简单介绍: 此部分知识为在做云笔记项目中补充,因为云笔记项目中涉及到前端js,里面写了很多js脚本,用到了创建js属性和方法,在js中直接声明的属性和方法最终都会变成window的对象,即其成为了全局 ...
- java-web的请求和响应机制中的request请求
1 Request对象和Response对象的原理 1.1 都是由服务器创建的 我们使用它 1.2 Request对象 是获取请求消息 response对象是响应 2 request 对象的继 ...
- Linux基本的操作
一.为什么我们要学习Linux 相信大部分人的PC端都是用Windows系统的,那我们为什么要学习Linux这个操作系统呢???Windows图形化界面做得这么好,日常基本使用的话,学习成本几乎为零. ...
- Codeforces Round #552 (Div. 3) A题
题目网址:http://codeforces.com/contest/1154/problem/ 题目意思:就是给你四个数,这四个数是a+b,a+c,b+c,a+b+c,次序未知要反求出a,b,c,d ...