在上一篇文章中介绍了经过WebSocket实现服务端和客户端的图像传输。基于这个实现,能够把二维码生成器放在服务端,轻松实现远程解决方案。html
参考原文:html5
下载Barcode SDK for .NETweb
在工程中添加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代码,简单修改一下。
websocket
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); } };
如今二维码就能够在网页中显示出来了。
socket