HttpResponse クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説
HttpResponse クラスのメソッドとプロパティは、HttpApplication、HttpContext、Page、UserControl の各クラスの Response プロパティによって公開されます。
次のコード例では、ページが要求されると、3 つの重なり合う四角形が描画されます。まず ContentType プロパティを image/jpeg に設定し、ページ全体を JPEG イメージとして表示します。次に、Clear メソッドを呼び出し、応答でヘッダーなどの無関係なコンテンツが送信されないようにします。続いて、BufferOutput プロパティを true に設定し、要求元のクライアントに送信される前にページの処理が完了するようにします。さらに、四角形の描画に使用する 2 つのオブジェクトである Bitmap オブジェクトと Graphics オブジェクトを作成します。このページで作成される変数は、四角形の描画に使用する座標と、最も大きい四角形の内部に表示される文字列です。
3 つの四角形とその内部に表示される文字列が描画されると、Bitmap は OutputStream プロパティに関連付けられている Stream オブジェクトに保存され、形式が JPEG に設定されます。次に、Dispose メソッドと Dispose メソッドが呼び出され、2 つの描画オブジェクトによって使用されていたリソースが解放されます。最後に、Flush メソッドが呼び出され、バッファされた応答が要求元のクライアントに送信されます。
<%@ Page Language="VB" %> <%@ import Namespace="System.Drawing" %> <%@ import Namespace="System.Drawing.Imaging" %> <%@ import Namespace="System.Drawing.Drawing2D" %> <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> </head> <body> <form runat="server"> </form> </body> </html>
<%@ Page Language="C#" %> <%@ import Namespace="System.Drawing" %> <%@ import Namespace="System.Drawing.Imaging" %> <%@ import Namespace="System.Drawing.Drawing2D" %> <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> </head> <body> <form runat="server"> </form> </body> </html>
System.Web.HttpResponse
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- HttpResponse クラスのページへのリンク