📄 mycreateimage.aspx.cs
字号:
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;
using System.Drawing.Text;
using System.Drawing.Imaging;
using System.IO;
namespace Example_11_6
{
/// <summary>
/// Summary description for MyCreateImage.
/// </summary>
public class MyCreateImage : System.Web.UI.Page
{
private ArrayList dataList = new ArrayList();
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
///绘制相应的图像
CreateImage(SetDataList(dataList));
}
}
private ArrayList SetDataList(ArrayList dataList)
{
dataList.Clear();
///添加图片的起始坐标
DataPoint pointzero = new DataPoint();
pointzero.X = 0;
pointzero.Y = 0;
dataList.Add(pointzero);
///添加图片的最大坐标
DataPoint pointwero = new DataPoint();
pointwero.X = 200;
pointwero.Y = 200;
dataList.Add(pointwero);
///返回坐标数据
return(dataList);
}
private void CreateImage(ArrayList dataList)
{
///判定数据是否正确,否则终止程序
if(dataList.Count < 2)
{
Response.Write("从数据库读取数据错误!");
return;
}
///创建背景图片
Bitmap mymap = new Bitmap(((DataPoint)dataList[1]).X * 2,((DataPoint)dataList[1]).Y * 2);
///创建画笔并设置其颜色
Graphics graphic = Graphics.FromImage(mymap);
Pen pen = new Pen(Color.Red,4);
///绘制标准圆
graphic.DrawEllipse(pen,((DataPoint)dataList[0]).X,((DataPoint)dataList[0]).Y,((DataPoint)dataList[1]).X,((DataPoint)dataList[1]).Y);
///绘制三角形
graphic.DrawLine(new Pen(Color.Green,3),new Point(((DataPoint)dataList[0]).X,((DataPoint)dataList[1]).Y),new Point(((DataPoint)dataList[1]).X,((DataPoint)dataList[1]).Y));
graphic.DrawLine(new Pen(Color.Green,3),new Point(((DataPoint)dataList[1]).X,((DataPoint)dataList[1]).Y),new Point(((DataPoint)dataList[1]).X,((DataPoint)dataList[1]).Y * 2));
graphic.DrawLine(new Pen(Color.Green,3),new Point(((DataPoint)dataList[1]).X,((DataPoint)dataList[1]).Y * 2),new Point(((DataPoint)dataList[0]).X,((DataPoint)dataList[1]).Y));
///绘制正方形
graphic.DrawRectangle(new Pen(Color.Yellow,3),225,75,((DataPoint)dataList[1]).Y / 2 + 50,((DataPoint)dataList[1]).Y);
///保存并输出绘制的图片
// mymap.Save(Response.OutputStream,ImageFormat.Jpeg);
OutPicture(mymap);
///释放占用的资源
graphic.Dispose();
mymap.Dispose();
}
private void OutPicture(Bitmap map)
{
///定义输出的内存流
MemoryStream ms = new MemoryStream();
///保存图像
map.Save(ms,ImageFormat.Png);
///清空网页的输出
Response.ClearContent();
///设置网页输出的格式
Response.ContentType = "Image/png";
///输出图像
Response.BinaryWrite(ms.ToArray());
Response.End();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
/// <summary>
/// 定义坐标类
/// </summary>
public class DataPoint
{
public int X = 0; ///保存坐标的X值
public int Y = 0; ///保存坐标的Y值
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -