动态生成图片 保存到OutputStream
#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的更多相关文章
- 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 原因 ...
- Android把图片保存到SQLite中
1.bitmap保存到SQLite 中 数据格式:Blob db.execSQL("Create table " + TABLE_NAME + "( _id INTEGE ...
- Java 将PDF转为HTML时保存到流
本文介绍如何通过Java后端程序代码将PDF文件转为HTML,并将转换后的HTML文件保存到流.在实现转换时,可设置相关转换属性,如:是否嵌入SVG.是否嵌入图片等.下面是实现转换的方法和步骤: 1. ...
- jQuery切换网页皮肤保存到Cookie实例
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/25.htm 以下是源代码: <!DOCTYPE html PUBLIC "-//W3C//D ...
- 个人学习记录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, ...
- 利用session_set_save_handler()函数将session保存到MySQL数据库中
PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开 ...
- PHP如何将session保存到memcached中?如何分布式保存PHP session
session_set_save_handler无关的memcached保存session的方法 在memcached服务器上 1)下载memcached #wget http://memcached ...
- scrapy 保存到 sqlite3
scrapy 爬取到结果后,将结果保存到 sqlite3,有两种方式 item Pipeline Feed Exporter 方式一 使用 item Pipeline 有三个步骤 文件 pipelin ...
- ffmpeg从AVFrame取出yuv数据到保存到char*中
ffmpeg从AVFrame取出yuv数据到保存到char*中 很多人一直不知道怎么利用ffmpeg从AVFrame取出yuv数据到保存到char*中,下面代码将yuv420p和yuv422p的数 ...
随机推荐
- 如何监控业务的响应速度?Cloud Insight SDK 实践分享
一直在说 Cloud Insight 是数据聚合平台,可以用 SDK 和 API 实现业务监控,如今不拿出点实践人们恐怕是不能信服.那今天本文就先简单介绍一下 SDK 可以应用在哪些方面,再举个真实用 ...
- Installing Lua in Mac
Lua is distributed in source form. You need to build it before using it. Building Lua should be stra ...
- poj 3604 Professor Ben
质因数分解:牛人推导公式(1^3+2^3+……+(1+a1)^3)*……*(1^3+2^3+……+(1+ai)^3)…… 链接http://poj.org/problem?id=3604 #inclu ...
- 【mongoDB中级篇①】游标cursor
简述 通俗的说,游标不是查询结果,可以理解为数据在遍历过程中的内部指针,其返回的是一个资源,或者说数据读取接口. 客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量 ...
- 40. Combination Sum II
题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...
- NSArray 迭代
NSObject *obj=[[NSObject alloc]init]; NSArray *array=[[NSArray alloc] initWithObjects:@" ...
- Android Handler传值方式
前面介绍handler的时候,也用到过几种传值方式,今天来总结一下,并且重点说一下bundle方式,代码如下: package com.handlerThread; import android.ap ...
- Eliza Doolittle lyrics Big City
Eliza Doolittle lyrics Big City 歌词很好,现在还没有,以后添加进来.
- C语言全局未初始化数据段分析
前言: 在分析C语言全局未初始化变量时,发现在目标文件中全局未初始化变量并不是直接放在bss段中. 再后来发现在两个.c文件中定义同名的全局变量,链接时居然没有发生符号重定义错误.才知道C语言弱定义的 ...
- 【转载】git命令和svn的对比
首先,要明确的是,git和svn是完全不同的两种管理方式.他们的命令不是完全对等的. 下面只是一些相似方法的参考,而已. 参考 http://blog.csdn.net/chen198746/arti ...