#region 把图片Copy到输出流
//获得图片全路径
string path = context.Server.MapPath("~/img/158_003.jpg");
//把图片写入流
using (Stream stream = File.OpenRead(path))
{
//把流Copy输出流
stream.CopyTo(context.Response.OutputStream);
}
#endregion

把图片Copy到输出流

 #region 实例化一个图片Save到输出流
using (Bitmap map = new Bitmap(, )) //实例化一个图片
using (Graphics g = Graphics.FromImage(map)) //从这个图片得到一个画布
using (Font font = new Font(FontFamily.GenericSerif, ))
{
g.DrawString("RUPENGWANG", font, Brushes.Red, , );
g.DrawEllipse(Pens.Black, , , , );
//map.Save("img1.jpg",ImageFormat.Jpeg); //保存到文件
//保存到输出流
map.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
#endregion

实例化一个图片Save到输出流

  #region 实例化一个 可以动态传参数的图片 Save到输出流
string name = context.Request["name"];
using (Bitmap map = new Bitmap(, )) //实例化一个图片
using (Graphics g = Graphics.FromImage(map)) //从这个图片得到一个画布
using (Font font = new Font(FontFamily.GenericSerif, ))
{
g.DrawString(name + "万岁,万岁,万万岁!", font, Brushes.Red, , );
g.DrawEllipse(Pens.Black, , , , );
//map.Save("img1.jpg",ImageFormat.Jpeg); //保存到文件
//保存到输出流
map.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
#endregion

实例化一个 可以动态传参数的图片 Save到输出流

 #region 作业1:动态生成一个 泡妞证 的图片
string name = context.Request["name"];
//获得原图片路径
string mapSou = context.Server.MapPath("~/img/bitmap.jpg");
using (Bitmap map = new Bitmap(mapSou)) //实例化一个已知图片:泡妞证
using (Graphics g = Graphics.FromImage(map)) //从这个图片得到一个画布
using (Font font1 = new Font(FontFamily.GenericSerif, ))
using (Font font2 = new Font(FontFamily.GenericSerif, ))
{
g.DrawString(name, font1, Brushes.Red, , );
g.DrawString(name, font2, Brushes.Red, , );
//保存到输出流
map.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
#endregion

作业1:动态生成一个 泡妞证 的图片

 #region 作业2:动态生成一个 4位数字的 验证码
//随机生成4位数
Random ran = new Random();
int num = ran.Next(, );
//画出一个图片
using (Bitmap map = new Bitmap(, )) //实例化一个图片:验证码
using (Graphics g = Graphics.FromImage(map)) //从这个图片得到一个画布
using (Font font = new Font(FontFamily.GenericSerif, ))
{
g.DrawString(num.ToString(), font, Brushes.Red, , );
//保存到输出流
map.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
#endregion

作业2:动态生成一个 4位数字的 验证码

动态生成图片 保存到OutputStream的更多相关文章

  1. pandas对象保存到mysql出错提示“BLOB/TEXT column used in key specification without a key length”解决办法

    问题 将DataFrame数据保存到mysql中时,出现错误提示: BLOB/TEXT column used in key specification without a key length 原因 ...

  2. Android把图片保存到SQLite中

    1.bitmap保存到SQLite 中 数据格式:Blob db.execSQL("Create table " + TABLE_NAME + "( _id INTEGE ...

  3. Java 将PDF转为HTML时保存到流

    本文介绍如何通过Java后端程序代码将PDF文件转为HTML,并将转换后的HTML文件保存到流.在实现转换时,可设置相关转换属性,如:是否嵌入SVG.是否嵌入图片等.下面是实现转换的方法和步骤: 1. ...

  4. jQuery切换网页皮肤保存到Cookie实例

    效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/25.htm 以下是源代码: <!DOCTYPE html PUBLIC "-//W3C//D ...

  5. 个人学习记录1:二维数组保存到cookie后再读取

    二维数组保存到cookie后再读取 var heartsArray = [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0],[0,0, ...

  6. 利用session_set_save_handler()函数将session保存到MySQL数据库中

    PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开 ...

  7. PHP如何将session保存到memcached中?如何分布式保存PHP session

    session_set_save_handler无关的memcached保存session的方法 在memcached服务器上 1)下载memcached #wget http://memcached ...

  8. scrapy 保存到 sqlite3

    scrapy 爬取到结果后,将结果保存到 sqlite3,有两种方式 item Pipeline Feed Exporter 方式一 使用 item Pipeline 有三个步骤 文件 pipelin ...

  9. ffmpeg从AVFrame取出yuv数据到保存到char*中

    ffmpeg从AVFrame取出yuv数据到保存到char*中   很多人一直不知道怎么利用ffmpeg从AVFrame取出yuv数据到保存到char*中,下面代码将yuv420p和yuv422p的数 ...

随机推荐

  1. VisionTimer BUG && Start

    void Start() { vp_Timer.In(0.0f, delegate() { Debug.Log("Start"); }, 10, 1.0f); } Version ...

  2. Chp10: Scalability and Memory Limits

    The Step-by-Step Approach break down a tricky problem and to solve problems using what you do know. ...

  3. POJ 2251 Dungeon Master(广搜,三维,简单)

    题目 简单的3d广搜,做法类似与 hdu 的 胜利大逃亡 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<str ...

  4. VBS生成随机数

    自动化工作中常常遇到因数据重复使业务无法提交的问题,我想到了利用随机数来解决这个问题,下面对VBS生成随机数做下解析: 一.Randomize语句 Randomize :初始化随机数生成器. 语法 : ...

  5. Strust2最基本使用

    制作一个登陆表单,然后在另一个页面显示提交的内容,简单的一个小工程. 页面: //login.jsp <form action="login.action" method=& ...

  6. lintcode :前序遍历和中序遍历树构造二叉树

    解题 前序遍历和中序遍历树构造二叉树 根据前序遍历和中序遍历树构造二叉树. 样例 给出中序遍历:[1,2,3]和前序遍历:[2,1,3]. 返回如下的树: 2 / \ 1 3 注意 你可以假设树中不存 ...

  7. Unity UGUI —— 鼠标穿透UI问题(Unity官方的解决方法)

    解决方案 : http://www.cnblogs.com/fly-100/p/4570366.html 这里我们直接在使用Input.GetMouseButtonDown(0)的地方加了一个检测函数 ...

  8. 用ISO C++实现自己的信号槽(Qt另类学习)

    qtc++objectsignalclassstring   目录(?)[-] Qt信号与槽 引入元对象系统 建立信号槽链接 信号的激活 槽的调用 全家福 零零散散写在后面 Q_OBJECT Conn ...

  9. Ios tab Bar 使用方法

    http://blog.sina.com.cn/s/blog_63578f140100w56m.html UITabBar* tabBar = [[UITabBar alloc] initWithFr ...

  10. Difference between 2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1

    Reference link: http://unix.stackexchange.com/questions/70963/difference-between-2-2-dev-null-dev-nu ...