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. UVA 11527 Unique Snowflakes

    用STL做会很方便 SET: /*by SilverN*/ #include<iostream> #include<algorithm> #include<cstring ...

  2. Emgu学习之(一)——Emgu介绍

    OpenCV“OpenCV是一个开源的计算机视觉库.OpenCV采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上.OpenCV还提供了Python.Ruby.MATLA ...

  3. Extjs Window用法详解

    今天我们来介绍一下Extjs中一个常用的控件Window.Window的作用是在页面中创建一个窗口,这个窗口作为容器,可以在它里面加入grid.form等控件,从而来实现更加复杂的界面逻辑. 本文的示 ...

  4. OGNL和Struts2标签

    OGNL和Struts2标签 你使用过的OGNL 页面获取并输出Action属性<s:property value="userName"/> 页面中获取request保 ...

  5. spring bean id和bean name的区别

    今天在分析问题时发现一个大家平时都不太注意的spring 配置问题,发出来分享下: 首先澄清一个概念: 同名bean:多个bean 有相同的 name 或者 id,称之为同名bean <bean ...

  6. 史上最浅显易懂的Git分布式版本控制系统教程

    从零起步的Git教程,让你无痛苦上手世界上最流行的分布式版本控制系统Git! 既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢? 首先,本教程绝对面向初学者,没有接触过版本控制 ...

  7. ashx 获取ajax Post到后台json数据

    前台页面代码: var json = [{ "Name": "Pavan Kumar Pabothu", "Age": 27, " ...

  8. 解决SQL SERVER LDF文件过大的问题

      我的SQL server数据库仅用作分析用, 不需要考虑数据备份和恢复的问题. 每天都会增长大量的数据, 现在碰到的问题是, ldf 文件增长的非常厉害, 需要压一压.    参考文章:  htt ...

  9. matlab 更改横坐标坐标值的方向

    [转载]http://blog.sina.com.cn/s/blog_7270407901012dyd.html#post 非常有用的Matlab代码,收藏了.   function th=rotat ...

  10. cocos基础教程(2)Window环境下搭建

    第一步:开始安装VS2012  第二步:下载Cocos2d-x 3.4源码  配置环境变量 COCOS_CONTROL = E:\cocos2d-x-3.4\tools\cocos2d-console ...