ajax加一般处理程序或ASP.NET 后台生成带着二维码的图片

ajax加一般处理程序生成带着二维码的图片

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        商品名称:<asp:TextBox ID="TextBox1" runat="server" Width="283px"></asp:TextBox>
        <br />
        <br />
        产品产地:<asp:TextBox ID="TextBox2" runat="server" Width="282px"></asp:TextBox>
        <br />
        <br />
        生产时间:<asp:TextBox ID="TextBox3" runat="server" Width="282px"></asp:TextBox>
        <br />
        <br />
        二 维 码:<asp:TextBox ID="TextBox4" runat="server" Width="281px"></asp:TextBox>
        <br />
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="生成" Height="35px" Width="77px" />
        &nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button2" runat="server" Text="打印" Height="34px" Width="82px" />
        <br />
        <br />
        <asp:Image ID="Image1" runat="server"/>
    </form>
</body>
</html>

后台——在bin文件夹添加zxing.dll文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using ZXing;
using ZXing.Common;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        string mingzi = TextBox1.Text;

        string chandi = TextBox2.Text;

        string shijian = TextBox3.Text;

        string ewm = TextBox4.Text;

        MultiFormatWriter mutiWriter = new MultiFormatWriter();

        BitMatrix bitMatrix = mutiWriter.encode(ewm, BarcodeFormat.QR_CODE, 150, 150);//生成的内容,要生成的样式(这里是二维码),图片大小
        //bitMatrix.
        Bitmap img = new BarcodeWriter().Write(bitMatrix);

        Rectangle rg = new Rectangle(0, 0, 150, 150);//二维码开始画的位置,二维码的大小

        Bitmap bitImei = new Bitmap(500, 150);//图片大小

        Graphics gr = System.Drawing.Graphics.FromImage(bitImei);

        Font font = new Font("微软雅黑", 12);

        Brush brush = new SolidBrush(Color.Black);

        int x = 150, y = 20;

        PointF pointf = new PointF(x, y);

        gr.Clear(Color.White);

        gr.DrawImage(img, rg);

        gr.DrawString("名称:" + mingzi, font, brush, pointf.X, pointf.Y);//字体及其大小,画刷颜色,画图开始的坐标

        pointf.Y += 30;

        gr.DrawString("产地:" + chandi, font, brush, pointf.X, pointf.Y);

        pointf.Y += 30;

        gr.DrawString("时间:" + shijian, font, brush, pointf.X, pointf.Y);

        string name = mingzi;

        string fileName = Server.MapPath("img/") + name + ".jpg";

        bitImei.Save(fileName);

        Image1.ImageUrl = "img/" + name + ".jpg";
    }
}

效果图:

ASP.NET 后台生成带着二维码的图片

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="jquery-1.7.2.min.js"></script>
    <style type="text/css">
        #sc {
            height: 43px;
            width: 92px;
        }
    </style>
</head>
<body>
    <from runat="server">
        <br />
        商 品
        名 称:<input type="text" id="mc"/>
        <br />
        <br />
        商 品
        产 地:<input type="text" id="cd"/>
        <br />
        <br />
        二维码内容: <input type="text" id="ewm"/>
        <br />
        <br />
        &nbsp;<br />
        <input type="button" value="生 成" id="sc" style="font-family:微软雅黑;font-size:20px;"/>
        <br />
        <br />
        <br />
        <br />
        <img src="" id="img"/>

    </from>
    <script type="text/javascript">
        $("#sc").click(function () {
            var mc = $("#mc").val();
            var cd = $("#cd").val();
            var ewm = $("#ewm").val();
            $.ajax({
                url: "Handler.ashx",
                data: { "mc": mc, "cd": cd, "ewm": ewm },
                type: "post",
                dataType: "json",
                success: function (da) {
                    var imgsrc = da.end;
                    $("#img").attr("src",imgsrc);
                },
                error: function () {
                    alert("失败!");
                }
            });
        });
    </script>
</body>
</html>

一般处理程序:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using ZXing;
using ZXing.Common;

public class Handler : IHttpHandler
{
    string mc, cd, ewm;

    public void ProcessRequest(HttpContext context)
    {
        mc = context.Request["mc"];

        cd = context.Request["cd"];

        ewm = context.Request["ewm"];

        MultiFormatWriter mutiWriter = new MultiFormatWriter();

        BitMatrix bitMatrix = mutiWriter.encode(ewm, BarcodeFormat.QR_CODE, 150, 150);//生成的内容,要生成的样式(这里是二维码),图片大小
        //bitMatrix.
        Bitmap img = new BarcodeWriter().Write(bitMatrix);

        Rectangle rg = new Rectangle(0, 0, 150, 150);//二维码开始画的位置,二维码的大小

        Bitmap bitImei = new Bitmap(500, 150);//图片大小

        Graphics gr = System.Drawing.Graphics.FromImage(bitImei);

        Font font = new Font("微软雅黑", 12);

        Brush brush = new SolidBrush(Color.Black);

        int x = 150, y = 20;

        PointF pointf = new PointF(x, y);

        gr.Clear(Color.White);

        gr.DrawImage(img, rg);

        gr.DrawString("名称:" + mc, font, brush, pointf.X, pointf.Y);//字体及其大小,画刷颜色,画图开始的坐标

        pointf.Y += 25;

        gr.DrawString("产地:" + cd, font, brush, pointf.X, pointf.Y);

        string name = mc;

        string fileName = context.Server.MapPath("img/") + name + ".jpg";

        bitImei.Save(fileName);

        string end = "img/" + name + ".jpg";

        end = "{\"end\":\"" + end + "\"}";

        context.Response.Write(end);

    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}
时间: 2024-10-24 15:24:40

ajax加一般处理程序或ASP.NET 后台生成带着二维码的图片的相关文章

asp.net.web如何简单生成和保存二维码图片的例子

首先,要有生成二维码图片,需要二维码生成的类库,到官网下载thoughtWorks.QRCode.dll 例子的步骤: 1.创建项目QRCodeTest1,选择asp.net.web窗体应用程序 2.添加引用,引入支持生成二维码图片类库,thoughtWorks.QRCode.dll 3.右键项目QRCodeTest1,选择添加web窗体,生成WebForm1.aspx, 并添加新文件夹photos,存放生成的二维码图片 4.打开webForm1.aspx,可以选择两种方式编写页面(熟悉的话,用

ASP.NET 5行代码搞二维码

刚入职,接到公司一个需求 要给每个新闻链接生成一个二维码,之前没做过,今天试了一下 还蛮简单的,分分钟的活儿. 开始百度搜了一下,关于二维码 都是一个叫Qrcode 的工具类做的,那伟大的微软 一定有自己的Qrcode,果不其然Nuget了一下 就找到了QrcodeNet 这个DLL 加载上以后,把以下4行代码一贴 大功告成! protected void Button1_Click(object sender, EventArgs e)    {        QrEncoder qrEnco

安卓实现二维码生成和扫描功能,扫描支持直接拍照扫码和相册图片扫码,还加了照明功能

最近在做二维码的生成和扫描,生成二维码相对而言较为简单,扫描相对复杂,遇到的问题较多,但是在实现二维码的生成和扫描之前最重要的一步 就是讲Zxing包导入,后面的内容大部分是使用包中的内容, 那我就从二维码的生成讲起吧! 二维码生成: 直接贴代码了 1 //要转换的地址或字符串,可以是中文,输入内容生成二维码 2 public Bitmap createQRImage(String string) { 3 try { 4 Hashtable<EncodeHintType, String> hi

ASP.NET生成二维码

下面使用ThoughtWorks.QRCode.dll这个类库,实现生成二维码 使用时需要增加:下面三个命名空间 using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; 下面代码主要是在asp.net中,生成一张二维码图片,在网页中显示,而且,将二维码图片保存在了,D:\zlf\zz.png: C# 代码   复制 using Syst

Asp.Net Core 生成二维码(NuGet使用QRCoder)

前言 功能:调用web api 接口 1.获取 jpeg 格式的二维码 2.获取中间带有logo 的二维码 3. 下载 jpeg,svg 格式的二维码 需要的NuGet 包: > QRCoder(v1.3.6) > System.Drawing.Common(v4.5.1) 正文 1. 准备项目 创建ASP.NET Core Web Api 应用程序,添加上边说的两个包,并创建Services 文件夹,Services 文件夹中的类如下: 2. 功能:生成jpeg 格式 二维码,通过Api 来

asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像 .

<%@ WebHandler Language="C#" Class="GetQRCode" %> using System; using System.Web; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; using System.IO; using System.Text; us

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架、二维码自定义、Bootstrap视图)视频教程

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架.二维码自定义.Bootstrap视图)视频教程下载    联系QQ:1026270010 Asp.Net MVC 简介      MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”.MVC模式是于20世纪70年代在smaltalk80的GUI设计中被提出的.它包括3个部分:模型(Model).视图(View)和控制器(Controller).MVC模式至今已被广泛使用,A

ASP.NET中C#生成二维码

ASP.NET中用C#语言编写网页,将自己输入的文字生成二维码. 工具/原料 已安装好VS2010或其他版本VS软件的电脑一台 1.新建 1 新建一个项目(New project),如图: 2 选择Visual C#---->ASP.NET Web应用程序,点击确定. 3 右键新建项目(New Item),如图: 4 选择web窗体(Webform),如图: 5 新建文件夹image,后面要用到. END 2.页面基本布局 1 将刚才新建的 Webform1 中,切换到设计视图,添加 textb

ajax 轮询(适合web端二维码请求)

(前几天 一直弄二维码轮询登录 想了半天 总算弄出来了 分享给大家    ^-^) 轮询: 所谓轮询 肯定需要 setInterval   但是怎么加ajax请求  需要有点小问题而且轮询成功后需要停止  下来看代码吧 var tis = setInterval(function(){$.ajax(getting)},3000);//{调用ajax(自己封装的数据)},每3秒执行一次 var getting = { type:'GET', url://地址, success: function