精华内容
下载资源
问答
  • WinForm绘制柱形

    2018-02-03 16:25:00
    WinForm绘制柱形 一、绘制简单的柱形 private void button1_Click(object sender, EventArgs e) { //创建画布 Bitmap bitM = new Bitmap(this.panel1.Widt...

    一、绘制简单的柱形图

     

     private void button1_Click(object sender, EventArgs e)
            {
                //创建画布
                Bitmap bitM = new Bitmap(this.panel1.Width, this.panel1.Height);
                Graphics g = Graphics.FromImage(bitM);
                g.Clear(Color.White);//清除背景色 并填充为白色
                //x y轴坐标 以及w  h绘制矩形的宽高
                int x, y, w, h;
                Random ran = new Random();
                for (int i = 0; i < 4; i++)
                {
                    //绘制名字
                  g.DrawString("名字"+(i+1),new Font("宋体",8,FontStyle.Regular),new SolidBrush(Color.Black),76+40*i,this.panel1.Height-16);
                  x = 78 + 40 * i;
                int num=ran.Next(40, 400); 
                  y = this.panel1.Height - 20-(num*20/100);
                  w = 24;
                  h = num * 20 / 100;
                  g.FillRectangle(new SolidBrush(Color.FromArgb(60, 120, 80)), x, y, w, h);
                }
                this.panel1.BackgroundImage = bitM;
               
            }

     

    二、绘制带有辅助线的柱形图 

     

     

     private void button1_Click(object sender, EventArgs e)
            {
               
                int panelHeight=this.panel1.Height;
                int panelWidth=this.panel1.Width;
                 //创建新的画布
                Bitmap bitM = new Bitmap(panelWidth,panelHeight);
                Graphics g = Graphics.FromImage(bitM);
                g.Clear(Color.White);
                Random ran = new Random();
                Pen RedPan = new Pen(new SolidBrush(Color.Red),2.0f);
                for (int i = 0; i < 12; i++)
                {
                    //绘制水平线
                    g.DrawLine(RedPan, 50, panelHeight - 20 - i * 20, panelWidth - 40, panelHeight - 20 - i * 20);
                    //绘制文字
                    g.DrawString(i*100+"",new Font("宋体",10,FontStyle.Regular),new SolidBrush(Color.Black),20,panelHeight-27-i*20);
                    
                }
                int x, y, w, h,ranNum;
                w = 24;
                for (int i = 0; i < 7; i++)
                {
                    //绘制垂直直线
                    g.DrawLine(RedPan,50+40*i,panelHeight-20,50+40*i,20);
                    //绘制名字
                    g.DrawString("名字" + (i + 1), new Font("宋体", 8, FontStyle.Regular), new SolidBrush
                    (Color.Black), 76 + 40 * i, panelHeight - 16);
                    x = 78 + 40 * i;
                    ranNum=ran.Next(50,250);
                    y = panelHeight - 20 - ranNum;
                    h = ranNum;
                    g.FillRectangle(new SolidBrush(Color.FromArgb(60,130,80)),x,y,w,h);
                }
                g.DrawLine(RedPan, 50 + 40 * 7, panelHeight - 20, 50 + 40 * 7, 20);
                this.panel1.BackgroundImage = bitM;
    
            }

     三、绘制带有月份的柱形图 

     private void button1_Click(object sender, EventArgs e)
            {
                int panelHeight = this.panel1.Height;
                int panelWidth = this.panel1.Width;
                //创建新的画布
                Bitmap bitM = new Bitmap(panelWidth, panelHeight);
                Graphics g = Graphics.FromImage(bitM);
                g.Clear(Color.White);
                //设置字体
                Font font = new Font("Arial",9,FontStyle.Regular);
                Font fontSong = new Font("宋体", 20, FontStyle.Regular);
                LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, bitM.Width, bitM.Height),Color.Blue,Color.Green,1.2f,true);
                g.FillRectangle(Brushes.WhiteSmoke, 0, 0, panelWidth, panelHeight);
                Brush brush1 = new SolidBrush(Color.Blue);
                g.DrawString("2018XX走势", fontSong, brush1, new PointF(180, 30));
                //画图片的边框线
                g.DrawRectangle(new Pen(Color.Blue),0,0,panelWidth-4,panelHeight-4);
                Pen mypen = new Pen(brush,1f);
                //绘制纵向线条
                int x = 50;
                for (int i = 0; i < 13; i++)
                {
                    g.DrawLine(mypen,x,75,x,307);
                    x += 40;
                }
               // 绘制横向线条
                int y = 74;
    
                for (int i = 0; i < 10; i++)
                {
                    g.DrawLine(mypen, 50, y, 530, y);
                    y += 26;
                }
                //绘制X轴月份
                string[] strX = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
                x = 45;
                for (int i = 0; i < strX.Length; i++)
                {
                    g.DrawString(strX[i].ToString(),font,Brushes.Red,x,panelHeight-30);
                    x += 40;
                }
                //绘制Y轴数量
                string[] StrY = { "0", "100", "200", "300", "400", "500", "600", "700", "800" };
                y = 78;
                for (int i = 0; i < StrY.Length; i++)
                {
                    g.DrawString(StrY[StrY.Length-i-1].ToString(), font, Brushes.Red, 25, y);
                    y += 26;
                }
                //填充数据
                Random ran = new Random();
                x = 55;
                y = 220;
                int  h=0;
                for (int i = 0; i < strX.Length; i++)
                {
                    int ranNum=ran.Next(0,800);
                    SolidBrush sb = new SolidBrush(Color.FromArgb(150,0,0));
                    h = ranNum /4;
                    g.FillRectangle(sb, x +i * 30, y-h+88, 30, h);
                    x +=10;
                }
                this.panel1.BackgroundImage = bitM;
    
               
            }

     

     
    posted on 2018-02-03 16:25 adminyu 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/zyadmin/p/8409813.html

    展开全文
  • winform中返回多个sin函数的坐标点,使这些坐标点连接形成sin函数图像,由于是新手,步骤越详细越好
  • ![图片说明](https://img-ask.csdn.net/upload/201503/21/1426918442_212857.png) 有大神做过这样的功能吗? 求代码案例,谢过。
  • Winform GUI 绘制柱状

    2019-11-12 19:02:48
    public Bitmap DrawRectangles(float x, float y, List<float> lenList, List<Color> listColor, List<string> listname, float height, string ylable)//这里是将数据绘制出矩形,用bitmap防止界面最小化之后,会...

          每次写正题前都想啰嗦几句,其实主要是想记录一下每一个项目的出处和实现过程,其实这个项目也是客户提的,他们看外国佬的东西 有这个功能,也要求我们来做,刚开始我得到的需求就是简短的两三句话,具体什么样呢,给我下达任务的boss也不清楚,我也很头疼,怎么办呢,只能凭着自己的想象力去做吧,利用GUI 之前我用ZedGraph实现了一个版本,发给我们的那个那个客服吧,给我来了一句太Low,把我给气的,简直是没文化,真可怕,瞎逼逼,声还大。可是没有办法,让他们把外国佬的东西截几张图看看,总得让我知道你们想要啥吧,别特么总让我猜你们的需求啊,老子又不是你们肚子里的蛔虫不是。于是照着人家图画吧。

          其实整个项目并不难,主要是比较烦,你特么认为ZedGraph太Low,还特么得实现人家ZedGraph那种效果,可是没有办法,谁让咱得吃饭啊。好啦,下面开始正题。。。。。。。

    首先将数据存在List里,然后Graph GrawRectangle函数画出矩形,以及对应的不同颜色,然后在Picturebox的paint事件重绘坐标系,最后重写鼠标滚轮,左键,右键事件,对图片进行操作。下面是部分代码:

     public Bitmap DrawRectangles(float x, float y, List<float> lenList, List<Color> listColor, List<string> listname, float height, string ylable)//这里是将数据绘制出矩形,用bitmap防止界面最小化之后,图会被擦掉。
            {

                try
                {
                    int count = lenList.Count;
                    float temp = x;
                    newlistColor = listColor;
                    newlistname = listname;
                    for (int i = 0; i < count; i++)
                    {
                        float pre = temp;

                        float templen = lenList[i];
                        if (temp<50f)
                        {
                            graph.DrawRectangle(new Pen(Color.Black, 2), 50, y, lenList[i] - Math.Abs(temp), height);
                            graph.FillRectangle(new SolidBrush(listColor[i]), 50, y, lenList[i] - Math.Abs(temp), height);
                            if (lenList[i] > 50)
                                graph.DrawString(listname[i], new Font("宋体", 8f), Brushes.Black, 50, y + 5);

                        }
                        else
                        {
                            graph.DrawRectangle(new Pen(Color.Black, 2), temp, y, lenList[i], height);
                            graph.FillRectangle(new SolidBrush(listColor[i]), temp, y, lenList[i], height);
                            if (lenList[i] > 50)
                                graph.DrawString(listname[i], new Font("宋体", 8f), Brushes.Black, temp, y + 5);

                        }
                        temp += lenList[i];
                    }
                
                return img;
                }
                catch(Exception ex)
                {
                    return null;
                }
            }

    下面是paint事件重回坐标系,具体鼠标事件对图片放大缩小移动,我就不在这里放了

          private void picCanvas_Paint(object sender, PaintEventArgs e)
            {
                try
                {
                    //Cursor = Cursors.Hand;

                    Graphics g = e.Graphics;
                    Pen pen = new Pen(Color.Black, 1);
                    g.DrawLine(pen, 50, h, w, h);
                    g.DrawLine(pen, 50, 20, 50, h);
                    g.DrawLine(pen, 50, 20, w, 20);
                    g.DrawLine(pen, w, 20, w, h);

                    foreach (DrawWaferData data in nowwafertrace.listDrawData)
                    {
                        g.DrawString(data.waferId, new Font("宋体", 8f, FontStyle.Bold), Brushes.Black, new PointF(15, data.y + 5));
                    }

                    for (int i = 1; i < 38; i++)
                    {
                        PointF px1 = new PointF(i * 30 + 50, h - 5);
                        PointF px2 = new PointF(i * 30 + 50, h + 5);
                        string sx = ((Xlable[i] + org_delta) / m_nScale).ToString("00");
                        if (changeScale)
                            sx = ((Xlable[i] + org_delta) / m_nScale).ToString("00");
                        else
                            sx = (Xlable[i]).ToString("00");
                        if (defaultScale)
                        {
                            sx = Org_xlable[i].ToString("00");
                        }

                        g.DrawLine(new Pen(Brushes.Black, 1), px1, px2);
                        if (i % 4 == 0)
                        {
                            g.DrawString(sx, new Font("宋体", 8f), Brushes.Black, new PointF(i * 30 + 50, h + 5));
                        }
                        if (changeScale)
                            Xlable[i] = ((Xlable[i] + org_delta) / m_nScale);
                    }

                    g.DrawString("Seconds", new Font("宋体 ", 10f), Brushes.Black, new PointF(w / 2 + 50, h + 20));
                }
                catch (Exception ex)
                {

                }

            }

    最后给大家看一下效果

    有兴趣的伙伴可以给我评论留言。

    展开全文
  • 使用graphics类绘制直角坐标系下的图像,调用本控件可以直接在坐标图上标出坐标,并实施显示当前坐标的位置,及当前鼠标所处位置。 本自定义控件还可以自动选择坐标轴的长度,可以清楚当前的图像,并且使用了两个...
  • C# winform折线图绘制

    千次阅读 2020-04-15 12:13:57
    C# winform折线图绘制 之前用PyQt5做过这个玩具,学winformGDI+做个实验。 效果 源码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...

    C# winform折线图绘制

    之前用PyQt5做过这个玩具,学winformGDI+做个实验。

    效果
    在这里插入图片描述

    源码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace lineChart
    {
        public partial class Form1 : Form
        {
            private List<int[]> dotList = new List<int[]>();  // 保存每个点的坐标
    
            private int PART = 5;  // X轴点的距离
    
            private int num = 0;  // 标记当前点数
    
            public Form1()
            {
                InitializeComponent();
            }
    
    
            // 绘制
            private void updateShow()
            {
                int width = this.pictureBox1.Size.Width;
                int height = this.pictureBox1.Size.Height;
                Bitmap codeImage = new Bitmap(width, height);  // 制作图片大小的画布
                Graphics g = Graphics.FromImage(codeImage);
    
                PointF[] points = new PointF[this.dotList.Count];  //点坐标列表
    
                for (int i=0; i < this.dotList.Count; i++)
                {
                    PointF pointF = new PointF(this.dotList[i][0], this.dotList[i][1]);
                    points[i] = pointF;
                }
    
                Pen pen = new Pen(Color.Red, 2);  // 创建绘笔
    
                g.DrawLines(pen, points);  // 绘制线段
    
                this.pictureBox1.Image = codeImage;
            }
    
            
    
            // 定时器生成随机数
            private void timer_Tick(object sender, EventArgs e)
            {
                int[] site = new int[2];
    
                if (num < (this.pictureBox1.Size.Width / PART))
                    num += 1;
                else
                {
                    this.dotList.RemoveAt(0);
                    foreach(int[] dot in this.dotList)
                    {
                        dot[0] -= PART;
                    }
                }
    
                site[0] = num * PART;
    
                int minY = int.Parse(this.textBox2.Text);
                int maxY = int.Parse(this.textBox3.Text);
    
                Random rd = new Random();
                int random = rd.Next(minY, maxY);
    
                site[1] = random * (this.pictureBox1.Size.Height / (maxY - minY) );
                
                this.dotList.Add(site);
    
                this.textBox1.Text = random.ToString();
    
                if (this.dotList.Count > 1 )
                    this.updateShow();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                timer.Enabled = true;
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                timer.Enabled = false;
            }
        }
    }
    
    

    设计器做的UI各控件名称

    名称 Name 控件
    最小值输入框 textBox2 TextBox
    最大值输入框 textBox3 TextBox
    实时值显示框 textBox1 TextBox
    启动按钮 button1 Button
    停止按钮 button2 Button
    图片显示 pictureBox1 pictureBox
    定时器 timer Timer

    百度网盘链接:https://pan.baidu.com/s/1muzeEsEN45kbqocOYF-pJw
    提取码:k4m2

    PyQt5做的相同例子:https://blog.csdn.net/weixin_42686768/article/details/88375360

    展开全文
  • 展示一个小Demo 在窗口中读取txt文件数据,并使用chart控件绘制曲线。 首先,在空白的窗体上拖入一个按钮,命名为...然后书写打开按钮的代码,绘制坐标系 将读取到的所有行数据,处理后以坐标形式进行绘制 这里,
  • 现在的想法是将员工编号、基本工资和所属部门编号显示在折线中,现查询 窗体布局如下: 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

    多个Y轴的分析(上边是ChartControl控件、下边是GridControl控件)
    在这里插入图片描述

    • 数据库表结构:
    • 现在的想法是将员工编号、基本工资和所属部门编号显示在折线图中,现查询
      在这里插入图片描述
      在这里插入图片描述
    • 窗体布局如下:
    • 在这里插入图片描述
      代码如下:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using DevExpress.XtraEditors;
    using DevExpress.XtraCharts;
    using DevExpress.Utils;
    using System.Data.SqlClient;
    
    namespace TreeList_test
    {
        public partial class XtraForm2 : DevExpress.XtraEditors.XtraForm
        {
            public XtraForm2()
            {
                InitializeComponent();
            }
    
            private void XtraForm2_Load(object sender, EventArgs e)
            {
                
                DataTable dt = CreateData();
                this.gridControl1.DataSource = dt;
                CreateChart(dt);
    
            }
            //准备数据内容
            private DataTable CreateData()
            {
                #region 数据库表结构
                /*
                  emp:员工表
    
                  empno:       员工编号;  
                  ename:       员工名字;  
                  job:         职位; 
                  mgr:          上司; 
                  hiredate:    入职时间;
                  sal:         基本工资;  
                  comm:        补贴;      
                  deptno:      所属部门编号;
                */
                #endregion
                using (SqlConnection con=new SqlConnection("Data Source =.; Initial Catalog = test_10_23; User ID = sa; Password = 123456; Connection Timeout = 10"))
                {
                    string sql = "select empno,sal,deptno from emp";//查找所有员工的薪水
                    SqlDataAdapter sda = new SqlDataAdapter(sql, con);
                    DataSet ds = new DataSet();
                    sda.Fill(ds);
                    return ds.Tables[0];
                }
            }
            //创建图表图形
            private void CreateChart(DataTable dt)
            {
                #region Series
                //创建几个图形的图像
              
                Series series1 = CreateSeries("员工编号",ViewType.Line,dt,0);
                Series series2 = CreateSeries("员工薪水", ViewType.Line, dt, 1);
                Series series3 = CreateSeries("所属部门编号", ViewType.Line, dt, 2);
                #endregion
                List<Series> list = new List<Series>() {series1,series2,series3};
                chartControl1.Series.AddRange(list.ToArray());
                chartControl1.Legend.Visibility = DefaultBoolean.False;
                chartControl1.SeriesTemplate.LabelsVisibility = DefaultBoolean.True;
    
                for (int i = 0; i < list.Count; i++)
                {
                    //   list[i].View.Color = Color.Black;
    
                    CreateAxisY(list[i]);
                }
            }
            //CreateSeries用于创建一个典型的图形
            //注意:Series.ArgumentScaleType=ScaleType.Qualitative这句代码必须设置,否则
            //默认会把"2005年1月"内容转换为 日期类型,显示不恰当的内容
            /// <summary>
            /// 根据需要创建一个图形展现
            /// </summary>
            /// <param name="caption">图形标题</param>
            /// <param name="viewType">图形类型</param>
            /// <param name="dt">数据DataTable</param>
            /// <param name="colIndex">图形数据的列序号</param>
            /// <returns></returns>
            private Series CreateSeries(string caption, ViewType viewType, DataTable dt, int colIndex)
            {
                Series series = new Series(caption, viewType);
                Type typeH = dt.Columns[0].DataType;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    // var argument = Convert.ChangeType(dt.Rows[i][0], typeH);//参数名称
                    //  var value = Convert.ChangeType(dt.Rows[i][colIndex], typeof(float));//参数值
                    string argument = dt.Rows[i][0].ToString();//横坐标,可根据自己需求设置
                    var value = Convert.ChangeType(dt.Rows[i][colIndex], typeof(double));
                    series.Points.Add(new SeriesPoint(argument, value));
                }
                //必须设置ArgumentScaleType的类型,否则默认会转换为日期格式,导致不是希望的格式显示
                //也就是说,显示字符串的参数,必须设置类型为ScaleType.Qualitive
                series.ArgumentScaleType = ScaleType.Qualitative;
                series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
    
                return series;
            }
            /// <summary>
            /// 创建图表的第二坐标系
            /// </summary>
            /// <param name="series">Series对象</param>
            /// <returns></returns>
            private SecondaryAxisY CreateAxisY(Series series)
            {
                SecondaryAxisY myAxis = new SecondaryAxisY(series.Name);
                ((XYDiagram)chartControl1.Diagram).SecondaryAxesY.Add(myAxis);
                ((LineSeriesView)series.View).AxisY = myAxis;
                myAxis.Title.Text = series.Name;
                myAxis.Title.Alignment = StringAlignment.Far;//顶部对齐
                myAxis.Title.Visibility = DefaultBoolean.True;
                myAxis.Title.Font = new Font("宋体", 9.0f);
                Color color = series.View.Color;//设置坐标的颜色和图标线条颜色一致
    
                myAxis.Title.TextColor = color;
                myAxis.Label.TextColor = color;
                myAxis.Color = color;
    
                return myAxis;
            }
        }
    }
    

    启动程序:
    在这里插入图片描述

    展开全文
  • C# 绘制实时曲线包括绘制坐标

    千次下载 热门讨论 2014-08-06 02:08:35
    C# 绘制实时曲线及坐标轴,实现实时的图像处理操作。
  • 这个用winform大概可以画出,但是清晰度不够,后面会用chart控件 和 wpf的效果去进行比较。如下,不考虑输入参数和清空按钮的话,你需要一个panel控件和一个 button按钮就可以了。 using System; using System....
  • C#:winform使用chart控件绘制折线,时间轴可缩放

    千次阅读 多人点赞 2019-04-12 10:44:06
    上测试: PLUS:如果你还想让Chart实现时间坐标轴的缩放怎么做? 方便起见,我这里使用滚轮上下滑动 1.需要一个修改坐标轴间隔的事件 //记录当前的缩放位置,便于控制范围 private int IntervalNow = 0...
  • 使用 Winform chart 绘制大数据量波形,带缩放功能

    千次阅读 热门讨论 2019-07-15 22:25:02
    我这的需求是使用Winform自带的chart控件,完成多路信号的显示,可以放大。缩小查看数据。好了。先上张图: 点击查看数据按钮,将生成的模拟信号数据显示出来。一共是52路信号,每个长度是1600。 用鼠标点击想要...
  • C# Winform 使用GDI+ 绘制实时曲线、面积曲线

    万次阅读 多人点赞 2018-04-23 21:49:59
    问题来源 最近为了公司界面的美化,想将原来的单纯曲线图绘制变成曲线面积。功能需求 1.通过一系列的点,绘制出曲线面积或者曲线。 2.能够实现实时界面刷新。 3.曲线里面的很多属性都能自定义。需求分析 ...
  • C#窗体程序实时曲线及绘制坐标

    热门讨论 2011-07-06 11:57:57
    C#窗体程序实时曲线及绘制坐标轴,C#窗体程序实时曲线及绘制坐标
  • 以被测风机10#为原心,显示周围风机及测风塔的坐标点,需求提供的坐标为xy坐标,如X=597166.5,Y=4741281.8,不知如何计算转换为屏幕坐标啊。。求大神指教! [img=...
  • C# GDI+绘制直角坐标系并自定义绘图并可通过鼠标在坐标系中绘制矩形圆形等形状
  • 以下举个例子:如在一个Chart中显示多个指标项如: 首先,读取数据,并对左边的Y轴最大和最小值进行设定 IndexSeriesControler indexControl = new IndexSeriesControler(); IEnumerable<IndexModel&.....
  •  判断鼠标是否进入Graphics绘制的图片并计算角度 private   void  panel1_MouseMove( object  sender, MouseEventArgs e) ... {  GraphicsPath vGraphicsPath  =   new  GraphicsPath();  vGraphicsPath...
  • c#绘制坐标

    千次阅读 2012-05-25 09:55:43
     //绘制X轴  Point px1=new Point(0,MaxY);  Point px2=new Point(MaxX,MaxY);  g.DrawLine(new Pen(Brushes.Black,1),px1,px2);  //绘制Y轴  Point py1=new Point(0,MaxY);  Point py2=new ...
  • 太乐地图Winform控件

    热门讨论 2013-05-16 18:53:19
    C#开发Winform地图项目的童鞋们有福啦,太乐地图控件for winform V1.1正式发布,支持访问40余款国内外主流地图,助您快速搭建桌面级地图产品! 1、支持访问40余款国内外主流地图 (谷歌地图、百度地图、天地图、...
  • C# Winform开发使用离线地图 GMap 基础例程,包括导入离线地图,地图图层绘制标点、多边形、圆、图片、鼠标移动显示坐标经纬度等。
  • 最近在研究WPF,需要用到类似Chart的控件来绘制折线,横坐标自定义时间信息。先后研究了DynamicDataDisplay.ChartPlotter、Toolkit,因为WPF用的人太少了,这方面可以查到的资料太少了。DynamicDataDisplay....
  • //绘制矩形 矩形的构造函数要多理解,比如在此用到矩形的左上角坐标point(x,y)及矩形长度及矩形宽度,共计4个元素,矩形起点坐标与终止坐标,所以要存储这2个字段  private Point beginpoint, endpoint;  private bool...
  • 谈一下c# winform窗体的坐标体系

    万次阅读 2014-05-29 09:39:50
    winform 中的坐标系分为三类: 1. 一类是屏幕坐标系,以显示屏左上角为(0,0)点的坐标。   2. 第二类是窗体坐标系,以winform窗体左上角为(0,0)点。   3. 第三类是窗体控件坐标系,以该控件的左上角为...
  • DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线、饼状、柱状等图表。 一.绘制图表基本步骤  (一):准备数据并绑定  这里从数据库中取得数据,可以根据自己的需要...
  • winform窗体上图片放大功能

    千次阅读 2020-05-19 11:58:36
    窗体上放置两个pictureBox控件,第一个添加image,属性SizeMode设置为StretchImage... //绘制指定大小的图片 graphics.DrawImage(pictureBox1.Image, pictureBox2.ClientRectangle, rec, GraphicsUnit.Pixel); } 完成

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,604
精华内容 641
关键字:

winform绘制坐标图