结合WebSocket,实现远程二维码生成应用
博客专区 > yushulx 的博客 > 博客详情
结合WebSocket,实现远程二维码生成应用
yushulx 发表于3年前
结合WebSocket,实现远程二维码生成应用
  • 发表于 3年前
  • 阅读 208
  • 收藏 3
  • 点赞 0
  • 评论 0

华为云·免费上云实践>>>   

在上一篇文章中介绍了通过WebSocket实现服务端和客户端的图像传输。基于这个实现,可以把二维码生成器放在服务端,轻松实现远程解决方案。

参考原文:

Barcode Generator with HTML5 WebSocket


准备工作

二维码远程生成

在工程中添加DynamicBarcode.dll,在属性中设置Copy to Output Directory为Copy always,这样dll就会和exe文件在同一个目录下。

添加一张背景图。对收到的消息编码。通过一个接口,生成二维码,并把二维码画到背景图上。

float scale = 3;
short sImageIndex = 0;
dynamicDotNetTwain.MaxImagesInBuffer = 1;
bool isLoaded = dynamicDotNetTwain.LoadImage("test.png");
dynamicDotNetTwain.AddBarcode(sImageIndex, Dynamsoft.DotNet.TWAIN.Enums.Barcode.BarcodeFormat.QR_CODE, message, "", 0, 0, scale);
 

现在把二维码发送到客户端。发送两次消息,第一次为宽高信息,第二次为图像数据。基于之前的JavaScript代码,简单修改一下。

ws.onmessage = function (evt) {
     var data = evt.data;
     if (!data)
         return;
 
     if (data instanceof ArrayBuffer) {
         drawImage(evt.data);
     }
     else {
         var len = data.length;
         var index = data.indexOf(",");
         var w = data.substring(0, index);
         var h = data.substring(index + 1, len);
         imageWidth = parseInt(w);
         imageHeight = parseInt(h);
     }
 };
 

现在二维码就可以在网页中显示出来了。

共有 人打赏支持
粉丝 24
博文 84
码字总数 35469
×
yushulx
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: