C#获取微信二维码显示到wpf
程序员文章站
2023-02-20 22:03:14
微信的api开放的二维码是一个链接地址,而我们要将这个二维码显示到客户端。方式很多,今天我们讲其中一种。 调用方式: 这个是访问微信地址url,获取到这个url中显示的微信二维码,拿到这个图片,显示到wpf 更多方式了解请加页面下方的群 ......
微信的api开放的二维码是一个链接地址,而我们要将这个二维码显示到客户端。方式很多,今天我们讲其中一种。
/// <summary> /// 获取图片路径 /// </summary> /// <param name="httpurl"></param> /// <returns></returns> public string getimageurl(string httpurl) { httpwebrequest req = (httpwebrequest)webrequest.create(httpurl); req.servicepoint.expect100continue = false; req.method = "get"; req.keepalive = true; req.contenttype = "image/png"; httpwebresponse rsp = (httpwebresponse)req.getresponse(); streamreader reader = new streamreader(rsp.getresponsestream(), encoding.getencoding("utf-8")); string str = reader.readtoend(); string[] imgstr = gethtmlimageurllist(str); string strer = "https://open.weixin.qq.com" + imgstr[0]; return strer; } /// <summary> /// 获取img标签 /// </summary> /// <param name="shtmltext"></param> /// <returns></returns> public string[] gethtmlimageurllist(string shtmltext) { regex regimg = new regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgurl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", regexoptions.ignorecase); matchcollection matches = regimg.matches(shtmltext); int i = 0; string[] surllist = new string[matches.count]; foreach (match match in matches) surllist[i++] = match.groups["imgurl"].value; return surllist; }
调用方式:
string imgurl= getimageurl("https://open.weixin.qq.com/......微信地址"); img.source = new bitmapimage(new uri(imgurl));
这个是访问微信地址url,获取到这个url中显示的微信二维码,拿到这个图片,显示到wpf
更多方式了解请加页面下方的群
上一篇: 移动端网页书写