zoukankan      html  css  js  c++  java
  • .NET : 如何利用GDI+绘制折线图

    这是今天课堂上讲的一个范例小程序。 其实很多图表控件大多也是这样画出来的。           
                //如何从零开始构造一个图片
                Bitmap b = new Bitmap(600, 400);
                Graphics bg = Graphics.FromImage(b);
                //背景颜色先清除掉
                bg.Clear(Color.LightGray);
    
                //先画横轴
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(10, 380),
                    new Point(580, 380));
    
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(570, 370),
                    new Point(580, 380));
    
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(570, 390),
                    new Point(580, 380));
    
    
                //再画纵轴
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(20, 390),
                    new Point(20, 20));
    
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(10, 30),
                    new Point(20, 20));
                bg.DrawLine(
                    new Pen(Color.Black),
                    new Point(30, 30),
                    new Point(20, 20));
    
    
                //画我们那条趋势线
                List<Point> points = new List<Point>()
                {
                    new Point(20,380),
                    new Point(40,365),
                    new Point(55,350),
                    new Point(100,300),
                    new Point(200,120),
                    new Point(570,30)};
    
                bg.DrawLines(
                    new Pen(Color.Red),
                    points.ToArray());
    
    
                foreach (var item in points)
                {
                    item.Offset(-10, -10);
    
                    bg.FillEllipse(
                        new SolidBrush(Color.Yellow),
                        new Rectangle(item,new Size(20,20)));
    
    
                    item.Offset(5, 5);
                    bg.DrawString(
                        item.Y.ToString(),
                        new Font("Arial", 6),
                        new SolidBrush(Color.Blue),
                        item);
    
                }
    
                bg.Dispose();
    
                b.Save("demo.bmp");

    demo
  • 相关阅读:
    阿里云ECS linux通过rinetd 端口转发来访问内网服务
    阿里云ECS linux通过iptables 配置SNAT代理网关,实现局域网上网
    适用于CentOS6.x系统的15项优化脚本
    ELK学习笔记
    MAC OSX环境下cordova+Ionic的安装配置
    Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
    cordova 下载更新
    android adb常用命令
    ionic实现双击返回键退出功能
    ionic ngCordova插件安装
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1625926.html
Copyright © 2011-2022 走看看