Asp.Net 合并图片(二维码和其他图片合并)
需求:根据网址生成二维码,然后再把二维码生成到背景图片上,然后显示在网页中
pic.ashx
<%@ WebHandler Language="C#" Class="pic" %> using System;
using System.Web;
using ThoughtWorks.QRCode.Codec;
using System.IO;
using System.Drawing;
using System.Text;
using System.Drawing.Imaging;
public class GetHongbao : IHttpHandler { public void ProcessRequest (HttpContext context) {
string iid = context.Request.QueryString["id"];
string url = "http://www.ceshi.com/tg" + iid;
string bg = context.Server.MapPath("/images/hb.png");
Image imgNew = CombinImage(bg, url); MemoryStream ms = new MemoryStream();
imgNew.Save(ms, ImageFormat.Png);
imgNew.Dispose(); context.Response.ClearContent();
context.Response.ContentType = "image/png";
context.Response.BinaryWrite(ms.ToArray());
context.Response.End(); } public Image CombinImage(string sourceImg,string url)
{
Image imgBack = Image.FromFile(sourceImg); //相框图片 //从指定的System.Drawing.Image创建新的System.Drawing.Graphics
Graphics g = Graphics.FromImage(imgBack); //g.DrawImage(imgBack, 0, 0, 148, 124); // g.DrawImage(imgBack, 0, 0, 相框宽, 相框高);
//g.FillRectangle(System.Drawing.Brushes.Black, 16, 16, (int)112 + 2, ((int)73 + 2));//相片四周刷一层黑色边框 g.DrawImage(GetQcode(url), , , , );
GC.Collect();
return imgBack;
}
public Image GetQcode(string data)
{
//初始化二维码生成工具
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码(Byte、AlphaNumeric、Numeric)
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//二维码纠错能力(L:7% M:15% Q:25% H:30%)
qrCodeEncoder.QRCodeVersion = ;//二维码密集度0-40
qrCodeEncoder.QRCodeScale = ;//二维码尺寸(Version为0时,1:30x30,每加1宽和高各加29 return qrCodeEncoder.Encode(data, Encoding.Default);
}
public bool IsReusable {
get {
return false;
}
} }
//需要使用到二维码ThoughtWorks.QRCode.dll
html调用
<img src="pic.ashx?id=1" />
Asp.Net 合并图片(二维码和其他图片合并)的更多相关文章
- pbfunc外部函数扩展应用-直接在Datawindow中生成QR二维码,非图片方式
利用pbfunc外部函数在Datawindow中直接生成QR二维码,非图片方式.需要注意以下面几点: Datawindow的DataObject的单位必须为像素(Pixels). Datawindow ...
- jquery生成二维码并实现图片下载
1.引入jquery的两个js文件 <script src="../scripts/erweima/jquery-1.10.2.min.js"></script& ...
- android 图片二维码识别和保存(二)
续上一篇,开发图片二维码识别功能后,我们对功能进行性能分析内存占用显著提高了,不使用该功能内存占用大约是147M,使用这个功能多次以后,高达203M. 因此对功能进行研究,发现每次生成的图片没有即时的 ...
- 如何通过github上传项目并在readme.md中展示图片二维码
将本地项目上传至github 第一步:git init (创建仓库) 第二步:git add README.md (添加项目)git add * 第三步:git commit -m &qu ...
- android 图片二维码识别和保存(一)
最新业务开发二维码识别的功能,这个功能,在很多应用上都有,比如微信长按图片识别二维码,如果图片中存在可以识别的二维码时,可以增加一个选项 识别二维码.那么如何去实现这个功能呢.这里其实也非常简单,首先 ...
- js生成二维码以及插入图片
先根据qrcode官网demo,不同属性值的变化,二维码的变化效果:https://larsjung.de/jquery-qrcode/latest/demo/ 进入demo中,审查元素查看里面引用的 ...
- online QRcode generator , QRcode=== (Quick Response Code) , 二维条码,二维码,彩色二维码,图片二维码,
online QRcode generator , QRcode=== (Quick Response Code) , 二维条码,二维码,彩色二维码,图片二维码, 1 http://cli.i ...
- com.google.zxing.NotFoundException-识别图片二维码信息错误
一.问题由来 自己在做一个小程序项目的后台,其中需要使用到识别图片二维码信息,而且是必须在Java后台进行识别二维码操作.去百度里面很快找到一个方法, 可以识别简单的二维码,而且自己生成的简单的二维码 ...
- js将网址转为二维码并下载图片
将一个网址转为二维码, 下面可以添加文字, 还提供下载功能 利用的是 GitHub上面的qrcode.js 和canvas <!DOCTYPE html> <html> < ...
随机推荐
- nc高级应用
参数介绍: nc.exe -h即可看到各参数的使用方法. 基本格式:nc?[-options]?hostname?port[s]?[ports]?... nc?-l?-p?port?[options] ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- grpc 使用流程、使用技巧
1.通过maven插件编译出java stub类. 2.对于批量调用的场景,我们可以使用FutureStub,对于普通的业务类型RPC,我们应该使用BlockingStub. 3.创建批量生成多个语言 ...
- C# 基于 adb 控制安卓
我司呢,有深信服网关. 我们做项目,日常是比较“清闲”的,所以呢,深信服让你没有办法愉快的使用电脑, 但是手机是可以连外网和外面的 wifi 的,所以我们就玩手机,但是玩手机这么明显会被 Leader ...
- 解决angular页面值闪现问题
<body ng-app="ngAnimate"ng-cloak></body> <input type="checkbox" n ...
- vscode调试C/C++时支持查看定义查看引用
貌似老版支持现在不支持了,需要自己加第三方工具,方法如下: 确保你安装了c/c++,此文写作时版本为0.20.1 从GTAGS官网下载Win32程序,解压,将其放在合适的位置,并把其目录下/bin文件 ...
- [原创]Java性能优化权威指南读书思维导图2
[原创]Java性能优化权威指南读书思维导图2
- What’s Brewing for .NET Developers
Microsoft hosted its premier fall developer event – Connect(); // 2016 in New York on November 16-17 ...
- Toast信息提示:下拉收起(基于jQuery)(app信息提示更新)
直接上效果:
- 详解Paint的setColorFilter(ColorFilter filter)
一.简介 setColorFilter(ColorFilter filter) 设置颜色过滤,这个方法需要我们传入一个ColorFilter参数同样也会返回一个ColorFilter实例.我们在set ...