关于图的问题!!!! 想建立一个基于C#的ASP的图,数据是从SQL导入的,在存储到XML中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 CreateBamp(); } #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 private void CreateBamp() { hr.GetSexStatAnalyse();//按姓别统计函数 //计算百分比 int iCount = Convert.ToInt32(hr.SexCount); int ipenboy = Convert.ToInt32(hr.boy / hr.SexCount * 100); int ipengirl = Convert.ToInt32(hr.girl / hr.SexCount * 100); Bitmap bmap = new Bitmap(800,480); Graphics g = Graphics.FromImage(bmap); g.Clear(Color.WhiteSmoke); int[] arrValues = {hr.boy,hr.girl}; string[] arrValueNames = new string[]{"男 | "+hr.boy+"人 | ("+ipenboy+"%)","女 | "+hr.girl+"人 | ("+ipengirl+"%)"}; g.DrawString("按姓别统计(共"+iCount+"人)", new Font("宋体",16), Brushes.Navy, new PointF(130, 40)); //设置标题 PointF symbolLeg = new PointF(450, 120); //小图标 PointF descLeg = new PointF(480, 120); //百分比 for (int i = 0; i < arrValueNames.Length; i++) { g.FillRectangle(new SolidBrush(GetColor(i)), symbolLeg.X, symbolLeg.Y, 20, 10); g.DrawRectangle(Pens.Black, symbolLeg.X, symbolLeg.Y, 20, 10); g.DrawString(arrValueNames[i].ToString(), new Font("宋体", 10), Brushes.Black,descLeg); symbolLeg.Y += 15; descLeg.Y += 15; } float sglCurrentAngle = 0; float sglTotalAngle = 0; float sglTotalValues = 0; for (int i = 0; i < arrValues.Length; i++) { sglTotalValues += arrValues[i]; } for (int i = 0; i < arrValues.Length; i++) { sglCurrentAngle = arrValues[i] / sglTotalValues * 360; g.FillPie(new SolidBrush(GetColor(i)),100, 100, 250,250, sglTotalAngle, sglCurrentAngle); g.DrawPie(Pens.Black, 100, 100, 250, 250, sglTotalAngle, sglCurrentAngle); sglTotalAngle += sglCurrentAngle; } bmap.Save(Response.OutputStream,ImageFormat.Jpeg); } /// <summary> /// 设置统计颜色 /// </summary> /// <param name="itemIndex"></param> /// <returns></returns> private Color GetColor(int itemIndex) { Color objColor; if (itemIndex == 0) { objColor = Color.Gray; } else { objColor = Color.Gold; } return objColor; } 数据库中存放Binary数据,用byte[]读取出来之后转换成MemoryStream,然后用Image的System.Drawing.Image.FromStream方法形成图像 带有命名空间的XML,怎么解析呢? 急急急!!!Aspnetpager分页控件+Oracle存储过程+Repeater如何实现分页 asp.net 如何实现滚动图片新闻.. 文本对齐 请教一个简单的数组转换问题 海辉高科大家听过吗? 怎么样? 小弟盛情邀请大虾帮忙 关于string.Concat连接Sql语句的问题 如何用回车实现imagebutton的单击事件 用电脑管家删除电脑垃圾,结果把某个临时文件夹删除了,导致程序无法运行 高分询问DataView的问题 网页中如何播放MP4文件,请高手指点
{
// 在此处放置用户代码以初始化页面
CreateBamp();
} #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 private void CreateBamp()
{
hr.GetSexStatAnalyse();//按姓别统计函数
//计算百分比
int iCount = Convert.ToInt32(hr.SexCount);
int ipenboy = Convert.ToInt32(hr.boy / hr.SexCount * 100);
int ipengirl = Convert.ToInt32(hr.girl / hr.SexCount * 100);
Bitmap bmap = new Bitmap(800,480);
Graphics g = Graphics.FromImage(bmap);
g.Clear(Color.WhiteSmoke);
int[] arrValues = {hr.boy,hr.girl};
string[] arrValueNames = new string[]{"男 | "+hr.boy+"人 | ("+ipenboy+"%)","女 | "+hr.girl+"人 | ("+ipengirl+"%)"};
g.DrawString("按姓别统计(共"+iCount+"人)", new Font("宋体",16), Brushes.Navy, new PointF(130, 40)); //设置标题
PointF symbolLeg = new PointF(450, 120); //小图标
PointF descLeg = new PointF(480, 120); //百分比
for (int i = 0; i < arrValueNames.Length; i++)
{
g.FillRectangle(new SolidBrush(GetColor(i)), symbolLeg.X, symbolLeg.Y, 20, 10);
g.DrawRectangle(Pens.Black, symbolLeg.X, symbolLeg.Y, 20, 10);
g.DrawString(arrValueNames[i].ToString(), new Font("宋体", 10), Brushes.Black,descLeg);
symbolLeg.Y += 15;
descLeg.Y += 15;
}
float sglCurrentAngle = 0;
float sglTotalAngle = 0;
float sglTotalValues = 0;
for (int i = 0; i < arrValues.Length; i++)
{
sglTotalValues += arrValues[i];
}
for (int i = 0; i < arrValues.Length; i++)
{
sglCurrentAngle = arrValues[i] / sglTotalValues * 360;
g.FillPie(new SolidBrush(GetColor(i)),100, 100, 250,250, sglTotalAngle, sglCurrentAngle);
g.DrawPie(Pens.Black, 100, 100, 250, 250, sglTotalAngle, sglCurrentAngle);
sglTotalAngle += sglCurrentAngle;
}
bmap.Save(Response.OutputStream,ImageFormat.Jpeg);
} /// <summary>
/// 设置统计颜色
/// </summary>
/// <param name="itemIndex"></param>
/// <returns></returns>
private Color GetColor(int itemIndex)
{
Color objColor;
if (itemIndex == 0)
{
objColor = Color.Gray;
}
else
{
objColor = Color.Gold;
}
return objColor;
}