1、通过Response输出图像:(QR.aspx)
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Tool
{
/// <summary>
/// 用于生成二维码图像
/// </summary>
public partial class QR : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string url = Request.Url.ToString();
if (url.Contains("?"))
{
String data = url.Substring(url.IndexOf("?") + 1); // 获取待生成的二维码参数
Bitmap pic = QrTool.ToQR(data); // 生成二维码
System.IO.MemoryStream stream = new System.IO.MemoryStream(); //创建支持存储区的内存流
pic.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); //保存图片
Response.ClearContent(); //清空缓冲区
Response.ContentType = "Image/jpeg";
Response.BinaryWrite(stream.ToArray()); //将流内容输出至Response接收端
}
Response.Write("");
}
}
}
2、前端页面添加img元素设置src(或asp:Image动态修改图像地址)
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>二维码在线生成</title>
<style type="text/css">
.align-center{ position:fixed;left:50%;top:50%;margin-left:-200px;margin-top:-200px; width:400px; height:400px; background-color:silver; fill-opacity:20}
.back-color { background:#019fe8;}
</style>
</head>
<body>
<div class="align-center">
<asp:Image ID="Image1" runat="server" Width="400" Height="400" />
<%--<img runat="server" id="Image2" src="../Tool/QR.aspx" style="width: 400px; height: 400px" />--%>
</div>
</body>
</html>
3、aspx中后端,修改Image对应的url:
Image1.ImageUrl = "~/Tool/QR.aspx?" + HttpUtility.UrlEncode(param);
//Image1.Src = "../Tool/QR.aspx?" + HttpUtility.UrlEncode(param);
using Tool;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Tool
{
public partial class QRTool : BaseWebPage
{
/// <summary>
/// 载入后执行参数对应的sql请求
/// </summary>
public override void Load(object sender, EventArgs e)
{
//Image1.ImageUrl = "~/tools/QRTool/QR/" + "20180728_093650_321756.png";
string param = "测试信息";
Image1.ImageUrl = "~/Tool/QR.aspx?" + HttpUtility.UrlEncode(param);
//Image1.Src = "../Tool/QR.aspx?" + HttpUtility.UrlEncode(param);
}
}
}
示例: 二维码在线生成