在ASP.NET页面中显示自动生成图片的两种方法

方法一:将自动生成的图片保存在站点的某个位置,然后在页面的Page_Load中将图片控件的scr设为图片的URL就可以了(此方法的代码参照http://www.cnblogs.com/ahuang1118/archive/2005/05/27/163614.html
方法二:将页面Webform1中的图片控件的scr设为另一个专门自动生成图片的页面GenPicture的URL。见DEMO
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Drawing.Drawing2D;

namespace WebPageIndex
{
    
/// <summary>
    
/// GenPicture 的摘要说明。
    
/// </summary>

    public class GenPicture : System.Web.UI.Page
    
{
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            string str="兴中公司财务章";
            Bitmap image
=new Bitmap(300,300);
            Graphics g
=Graphics.FromImage(image);
            Pen p
=new Pen(Brushes.Red,10);
            Pen p1
=new Pen(Brushes.Red,5);
            SolidBrush b
=new SolidBrush(Color.Red);
            g.SmoothingMode
=SmoothingMode.AntiAlias;
            Point point1 
= new Point( 150,  50);
            Point point2 
= new Point(50,  150);
            Point point3 
= new Point(230,  150);
            Point[] curvePoints 
={point1,point2,point3};
            g.FillPolygon(b,curvePoints,FillMode.Winding );
            g.DrawEllipse(p,
10,10,280,280);
            g.DrawString(str,
new Font("隶书",20,FontStyle.Bold),new 
                SolidBrush(Color.FromArgb(
255255,00)),40,200); 
            g.DrawLine(p1,
80,240,220,240);
            g.DrawLine(p1,
80,250,220,250);
            image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
        }


        
#region Web 窗体设计器生成的代码
        
override protected void OnInit(EventArgs e)
        
{
            
//
            
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            
//
            InitializeComponent();
            
base.OnInit(e);
        }

        
        
/// <summary>
        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
        
/// 此方法的内容。
        
/// </summary>

        private void InitializeComponent()
        
{    
            
this.Load += new System.EventHandler(this.Page_Load);
        }

        
#endregion

    }

}
原文地址:https://www.cnblogs.com/ahuang1118/p/163623.html