网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET图形开发带超链接的饼图

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12

    由于在计算机屏幕上绘制扇形是顺时针方向的,而我们察看一般习惯是顺时针看的,因此这里需要反向遍历饼图项目。

    计算各个饼图项目的角度数据后,我们可以绘制图形或者获得图形定位信息。首先我们定义函数CreatePath函数来获得指定饼图项目的路径对象。代码如下。

/// <summary>
/// 为一个饼图项目创建路径对象
/// </summary>
/// <param name="item">饼图项目</param>
/// <returns>创建的路径对象</returns>
public GraphicsPath CreatePath( PieShapeItem item )
{
    GraphicsPath path = new GraphicsPath();
    path.AddPie(
        intLeft ,
        intTop ,
        intWidth ,
        intHeight ,
        item.StartAngle ,
        item.EndAngle - item.StartAngle );
    return path ;
}

    这个函数也很简单,创建一个路径对象,然后添加一个扇形区域。

    我们定义了一个Draw函数来绘制饼图图形。其代码为

/// <summary>
/// 绘制饼图图形
/// </summary>
/// <param name="g">图形绘制对象</param>
/// <param name="ClipRectangle">剪切矩形</param>
public void Draw( Graphics g , Rectangle ClipRectangle )
{
    foreach( PieShapeItem item in this )
    {
        using( GraphicsPath path = CreatePath( item ))
        {
            using( SolidBrush b = new SolidBrush( item.Color ))
            {
                g.FillPath( b , path );
                g.DrawPath( Pens.Black , path );
            }
        }
    }
}

    这个方法也不复杂,也就是遍历所有的饼图项目,为每一个项目创建路径对象,然后使用饼图项目的颜色填充路径,并使用黑线绘制路径的边框。

    由于本程序是ASP.NET程序,需要在服务器端生成图片文档,因此本对象也提供了CreateBitmap函数来生成包含图形的位图对象。其代码为

/// <summary>
/// 创建一个包含对象图形位图对象
/// </summary>
/// <returns>创建的位图对象</returns>
public Bitmap CreateBitmap( )
{
    Bitmap bmp = new Bitmap( intWidth + 1 , intHeight + 1 ) ;
    using( Graphics g = Graphics.FromImage( bmp ))
    {
        g.Clear( Color.White );
        g.TranslateTransform( intLeft , intTop );
        g.SmoothingMode = SmoothingMode.HighQuality ;
        Draw( g , this.Bounds );
    }
    return bmp ;
}

&

  • 下一篇资讯: DataList对象属性
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号