黄博文的地盘

专注WEB开发,共闯编程之路。

« 推荐阅读《疯狂的程序员》asp.net写的web service例子 »

使用asp.net绘图

在web窗体中绘图和在windows窗体中绘图差别不大,如果有在windows窗体中绘图的经验,那么很快就会掌握在asp.net下绘图。

今天给大家讲一个小的实例,希望给大家起到抛砖引玉的作用。

我们用asp.net提供的关于图形显示的类,在页面上绘制一个奥运会五环图。

最终效果如下:

 

此例子需要两个页面,draw.aspx主要是绘制和输出gif图像,show.aspx则通过一个Image控件来展现这个图像。

Draw.aspx.cs页面全部代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing.Imaging;   //提供画GDI+图形的高级功能
using System.Drawing;   //提供画GDI+图形的基本功能
 

public partial class _Draw : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
     Bitmap   bmp = new Bitmap(400,300);  //声明一个bitmap类,大小为500*500
     Pen x = new Pen(Color.Blue, 5);    //定义一蓝色画笔
     Pen y = new Pen(Color.Black, 5);   //定义一黑色画笔
     Pen z = new Pen(Color.Red, 5);    //定义一红色画笔
     Pen m = new Pen(Color.Yellow, 5);   //定义一黄色画笔
     Pen n = new Pen(Color.Green, 5);    //定义一绿色画笔
     Graphics gc;                   //声明一 GDI+ 绘图面
     gc = Graphics.FromImage(bmp);  //从指定的 Image 创建新的 Graphics
        SolidBrush sb = new SolidBrush(Color.Wheat); //定义一白色刷子
        gc.FillRectangle(sb, 0, 0, 500, 500);   //绘制背景图
        FontFamily fontfamily = new FontFamily("隶书");       //定义一个字体类型
      Point p = new Point(60,200);              //定义一个点
        Font font = new Font(fontfamily,50);             //定义一字体
        gc.DrawString("北京2008", font, Brushes.Red,p);   //输出字符串"北京2008"
        gc.DrawEllipse(x, 30, 30, 100, 100);               //绘制奥运会5个环
        gc.DrawEllipse(y, 150, 30, 100, 100);
        gc.DrawEllipse(z, 270, 30, 100, 100);
        gc.DrawEllipse(m, 90, 80, 100, 100);
        gc.DrawEllipse(n, 210, 80, 100, 100);
        Response.ContentType = "image/gif";     //声明输出流对象为gif图像
     bmp.Save(Response.OutputStream, ImageFormat.Gif);   //将bmp输出到页面
     Response.End();    //  终止输出
    }
}

以下是show.aspx页面的详细代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="show.aspx.cs" Inherits="Show" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Image ID="Image1" runat="server" /></div>
    </form>
</body>
</html>

以下是show.aspx.cs页面的详细代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

 

public partial class Show : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Image1.ImageUrl = "Draw.aspx?";
    }
}

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Devo Build 80201

蜀ICP备08002594号. All Rights Reserved.
黄博文 版权所有 huangbowen521@126.com