1.向服务器请求返回图片,浏览器是不知道服务上有这个图片的存在的,只是发出请求,接收请求,显示图片

string path = context.Server.MapPath("~/1.jpg");//获取服务器上的图片并转换为本地路径
//显示到输出流中
using (Stream instream = File.OpenRead(path))
{
instream.CopyTo(context.Response.OutputStream);
}

2.动态的向服务器创建一张jpeg图片:

string name = context.Request["name"];//name的值可以动态的输入
using (Bitmap bmp = new Bitmap(, ))//创建一个尺寸为500*500的内存图片
using (Graphics g = Graphics.FromImage(bmp))//得到图片的画布
{
g.DrawString(name, new Font(FontFamily.GenericSerif, ), Brushes.Red, , );//Font应该被释放
g.DrawEllipse(Pens.Green, , , , );
bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);//图片保存到输出流
}

3.获取系统信息:

context.Response.ContentType = "image/jpeg";
using (Bitmap bmp = new Bitmap(, ))//创建一个尺寸为500*500的内存图片
using (Graphics g = Graphics.FromImage(bmp))//得到图片的画布
using (Font font = new Font(FontFamily.GenericSerif, ))
{
HttpRequest request = context.Request;
g.DrawString("IP:" + request.UserHostAddress, font, Brushes.Red, , );
g.DrawString("浏览器:" + request.Browser.Browser + request.Browser.Version, font, Brushes.Red, , );
g.DrawString("操作系统:" + request.Browser.Platform, font, Brushes.Red, , );
bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);//图片保存到输出流
}

4.动态创建泡妞证:

context.Response.ContentType = "image/jpeg";
string name = context.Request["name"];
string imgFullPath = context.Server.MapPath("~/PaoNiuZheng.jpg");
using (Image bmp = Bitmap.FromFile(imgFullPath))
using (Graphics g = Graphics.FromImage(bmp))//得到图片的画布
using (Font font1 = new Font(FontFamily.GenericSerif, ))
using (Font font2 = new Font(FontFamily.GenericSerif, ))
{
{
g.DrawString(name, font1, Brushes.Black, , );//Font应该被释放
g.DrawString(name, font2, Brushes.Black, , );//Font应该被释放
bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);//图片保存到输出流
}
}

5.动态生成四位数字的验证码

Random name = new Random();
int r = name.Next(, );
using (Bitmap bmp = new Bitmap(, ))//创建一个尺寸为500*500的内存图片
using (Graphics g = Graphics.FromImage(bmp))//得到图片的画布
{
g.DrawString(r.ToString(), new Font(FontFamily.GenericSerif, ), Brushes.Red, , );//Font应该被释放
g.DrawEllipse(Pens.Green, , , , );
bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);//图片保存到输出流
}

HttpHandler动态生成图片的更多相关文章

  1. 动态生成图片 保存到OutputStream

    #region 把图片Copy到输出流 //获得图片全路径 string path = context.Server.MapPath("~/img/158_003.jpg"); / ...

  2. dojo动态生成图片并按中心缩放

    首先,本人在项目动态加载图片是根据点击图片名称来获取图片所在地址,从而使其打开一个新的窗口显示图片的.这里根据每个人的也许需求进行更改(要么就是在本页面底下打开要么就是新建一个窗口打开),不做探讨. ...

  3. wp8.1 学习笔记 001 动态生成图片 并更改图片位置

    1.在xaml中划分表格 <Grid Name="gr"> <Grid.ColumnDefinitions> <ColumnDefinition> ...

  4. java 根据图片文字动态生成图片

    今天在做热敏打印机打印二维码,并有文字描述,想到的简单的方法就是根据热敏打印机的纸张宽度和高度,生成对应的图片,如下: package com.orisdom.utils; import lombok ...

  5. ASP.NET动态生成图片样式的验证码

    我们在设计用户登录模块时,经常会用到验证码,可以有效地防止黑客软件的恶意破解. 在此我就直接放置一个网页链接,以后用的时候可以当做备忘! 此连接中有多种验证码图片的样式可供参考. http://www ...

  6. ThinkPHP5 动态生成图片缩略图

    需求场景 不同终端(PC端.手机端.平板),不同界面(列表页.详情页),对图片大小的要求不一样, 如果所有场景下都使用同一尺寸的图片,势必对会网络带宽及服务器性能造成一定的影响,由此需要服务器端能够根 ...

  7. 如何安装nginx_lua_module模块,升级nginx,nginx-lua-fastdfs-GraphicsMagick动态生成缩略图,实现图片自动裁剪缩放

    如何安装nginx_lua_module模块,升级nginx,nginx-lua-fastdfs-GraphicsMagick动态生成缩略图,实现图片自动裁剪缩放 参考网站:nginx-lua-fas ...

  8. java的动态验证码单线设计

    1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...

  9. Nginx 整合 Lua 实现动态生成缩略图

    原文地址:Nginx 整合 Lua 实现动态生成缩略图 博客地址:http://www.extlight.com 一.前提 最近在开发一个项目,涉及到缩略图的功能,常见的生成缩略图的方案有以下几个: ...

随机推荐

  1. HD 2177(威佐夫博弈 入门)

    取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. 提示用户一直输入数字(默认为正整数),当用户输入end的时候显示当前输入数字中的最大值。

    string input = ""; ; while (input != "end") { Console.WriteLine("请输入一个正整数,输 ...

  3. iOS快速单例宏

    // 单例 #define DECLARE_SHARED_INSTANCE(className) \ + (className *)sharedInstance; #define IMPLEMENT_ ...

  4. struts返回json

    <param name="includeProperties"> </param> 这个属性表示要包含进JSON数据中的数据.<param name= ...

  5. SOA面向服务架构简述

    在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契 ...

  6. Mongodb c#增删改查

    写在前面 最近项目需要,就研究了下mongodb,也是为了快速上手,就自己弄了一个简单的例子,这里记录一下. Mongodb 传统的关系数据库一般由数据库(database).表(table).记录( ...

  7. UVALive 6124 Hexagon Perplexagon 题解

    http://vjudge.net/problem/viewProblem.action?id=37480 East Central Regional Contest Problem C: Hexag ...

  8. 微信也有土豪版 针对iPhone 6/6 Plus进行优化

    土豪们最近都上手iPhone 6/6 Plus了,烦恼的是iPhone 6/Plus增大了屏幕和分辨率,由此带来了不少应用的适配问题,排版乱了,app周边多了一片空白,是不是很煞风景?微信团队昨天放出 ...

  9. 小白科普之JavaScript的JSON

    一.对json的理解     json是一种数据格式,不是一种编程语言,json并不从属于javascript.     json的语法可以表示以下三种类型的值     1)简单值           ...

  10. mac os 安装 pkg-config

    wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz . env LDFLAGS="-framework ...