HttpResponse..::.OutputStream 属性

来源:互联网 发布:c语言产生10个随机数 编辑:程序博客网 时间:2024/05/17 01:28

 启用到输出 HTTP 内容主体的二进制输出。

示例

下面的示例调用 Save 方法将一个 Bitmap 对象保存到 OutputStream 属性中,并将图像转换为 JPEG 格式。然后,代码调用 Bitmap 对象和 Graphics 对象的 Dispose 方法,释放它们正在使用的资源。最后,代码调用 Flush 方法将响应的内容发送到请求客户端。

有关完整示例,请参见 HttpResponse 类。

Visual Basic
<%@ Page Language="VB" %><%@ import Namespace="System.Drawing" %><%@ import Namespace="System.Drawing.Imaging" %><%@ import Namespace="System.Drawing.Drawing2D" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">   Private Sub Page_Load(sender As Object, e As EventArgs)      ' Set the page's content type to JPEG files      ' and clear all response headers.      Response.ContentType = "image/jpeg"      Response.Clear()      ' Buffer response so that page is sent      ' after processing is complete.      Response.BufferOutput = True      ' Create a font style.      Dim rectangleFont As New Font( _          "Arial", 10, FontStyle.Bold)      ' Create integer variables.      Dim height As Integer = 100      Dim width As Integer = 200      ' Create a random number generator and create      ' variable values based on it.      Dim r As New Random()      Dim x As Integer = r.Next(75)      Dim a As Integer = r.Next(155)      Dim x1 As Integer = r.Next(100)      ' Create a bitmap and use it to create a      ' Graphics object.      Dim bmp As New Bitmap( _          width, height, PixelFormat.Format24bppRgb)      Dim g As Graphics = Graphics.FromImage(bmp)      g.SmoothingMode = SmoothingMode.AntiAlias      g.Clear(Color.LightGray)      ' Use the Graphics object to draw three rectangles.      g.DrawRectangle(Pens.White, 1, 1, width - 3, height - 3)      g.DrawRectangle(Pens.Aquamarine, 2, 2, width - 3, height - 3)      g.DrawRectangle(Pens.Black, 0, 0, width, height)      ' Use the Graphics object to write a string      ' on the rectangles.      g.DrawString("ASP.NET Samples", rectangleFont, SystemBrushes.WindowText, New PointF(10, 40))      ' Apply color to two of the rectangles.      g.FillRectangle( _          New SolidBrush( _              Color.FromArgb(a, 255, 128, 255)), _          x, 20, 100, 50)      g.FillRectangle( _          New LinearGradientBrush( _              New Point(x, 10), _              New Point(x1 + 75, 50 + 30), _              Color.FromArgb(128, 0, 0, 128), _              Color.FromArgb(255, 255, 255, 240)), _          x1, 50, 75, 30)      ' Save the bitmap to the response stream and      ' convert it to JPEG format.      bmp.Save(Response.OutputStream, ImageFormat.Jpeg)      ' Release memory used by the Graphics object      ' and the bitmap.      g.Dispose()      bmp.Dispose()      ' Send the output to the client.      Response.Flush()   End Sub 'Page_Load</script><html  ><head>    <title>ASP.NET Example</title></head><body>    <form id="form1" runat="server">    </form></body></html>
<%@ Page Language="C#" %><%@ import Namespace="System.Drawing" %><%@ import Namespace="System.Drawing.Imaging" %><%@ import Namespace="System.Drawing.Drawing2D" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    private void Page_Load(object sender, EventArgs e)    {        // Set the page's content type to JPEG files        // and clear all response headers.        Response.ContentType = "image/jpeg";        Response.Clear();        // Buffer response so that page is sent        // after processing is complete.        Response.BufferOutput = true;        // Create a font style.        Font rectangleFont = new Font(            "Arial", 10, FontStyle.Bold);        // Create integer variables.        int height = 100;        int width = 200;        // Create a random number generator and create        // variable values based on it.        Random r = new Random();        int x = r.Next(75);        int a = r.Next(155);        int x1 = r.Next(100);        // Create a bitmap and use it to create a        // Graphics object.        Bitmap bmp = new Bitmap(            width, height, PixelFormat.Format24bppRgb);        Graphics g = Graphics.FromImage(bmp);        g.SmoothingMode = SmoothingMode.AntiAlias;        g.Clear(Color.LightGray);        // Use the Graphics object to draw three rectangles.        g.DrawRectangle(Pens.White, 1, 1, width-3, height-3);        g.DrawRectangle(Pens.Aquamarine, 2, 2, width-3, height-3);        g.DrawRectangle(Pens.Black, 0, 0, width, height);        // Use the Graphics object to write a string        // on the rectangles.        g.DrawString(            "ASP.NET Samples", rectangleFont,            SystemBrushes.WindowText, new PointF(10, 40));        // Apply color to two of the rectangles.        g.FillRectangle(            new SolidBrush(                Color.FromArgb(a, 255, 128, 255)),            x, 20, 100, 50);        g.FillRectangle(            new LinearGradientBrush(                new Point(x, 10),                new Point(x1 + 75, 50 + 30),                Color.FromArgb(128, 0, 0, 128),                Color.FromArgb(255, 255, 255, 240)),            x1, 50, 75, 30);        // Save the bitmap to the response stream and        // convert it to JPEG format.        bmp.Save(Response.OutputStream, ImageFormat.Jpeg);        // Release memory used by the Graphics object        // and the bitmap.        g.Dispose();        bmp.Dispose();        // Send the output to the client.        Response.Flush();    }</script><html  ><head>    <title>ASP.NET Example</title></head><body>    <form id="form1" runat="server">    </form></body></html>
原创粉丝点击