zoukankan      html  css  js  c++  java
  • c# winform 应用编程代码总结 8

    28、创建线性梯度

            private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
            {
                LinearGradientBrush linGrBrush = new LinearGradientBrush(
                    new Point(0, 0),
                    new Point(200, 100),
                    Color.FromArgb(255, 0, 0, 255),   // opaque blue
                    Color.FromArgb(255, 0, 255, 0));  // opaque green

                Pen pen = new Pen(linGrBrush, 10);

                e.Graphics.DrawLine(pen, 0, 0, 600, 300);
                e.Graphics.FillEllipse(linGrBrush, 10, 100, 200, 100);        
            }

            效果:

           image

    29、连接线条

            private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
            {
                GraphicsPath path = new GraphicsPath();
                Pen penJoin = new Pen(Color.FromArgb(255, 0, 0, 255), 8);

                path.StartFigure();
                path.AddLine(new Point(50, 200), new Point(100, 200));
                path.AddLine(new Point(100, 200), new Point(100, 250));

                penJoin.LineJoin = LineJoin.Bevel;
                e.Graphics.DrawPath(penJoin, path);        
            }

            效果:

             image

    30、将 Gamma 校正应用于梯度

            private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
            {
                LinearGradientBrush linGrBrush = new LinearGradientBrush(
                    new Point(0, 10),
                    new Point(200, 10),
                    Color.Red,
                    Color.Blue);

                e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
                linGrBrush.GammaCorrection = true;
                e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);        
            }

           效果图:

          image

    31、绘制用纹理填充的线条

            private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
            {
                Bitmap bitmap = new Bitmap("..\\..\\test.jpg");
                TextureBrush tBrush = new TextureBrush(bitmap);
                Pen texturedPen = new Pen(tBrush, 30);

                e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
                e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);        
            }

           image

    本系列文章是作者学习《Visual C#.NET 应用编程150例》(源码)心得笔记,欢迎转载,请注明原文地址,如有疑问,可以通过 278250658@qq.com 联系作者本人。

  • 相关阅读:
    VUE中全局变量的定义和使用
    Pull Request 工作流——更高效的管理代码
    仓储repository概念
    Mysql存储过程历史表备份
    OpenStack一键安装
    VMware虚拟机设置Win10固定ip
    C#_NPOI_Excel各种设置
    pycharm修改镜像
    C#模拟POST上传文件帮助类(支持https、http)
    Windows安装RabbitMQ
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197278.html
Copyright © 2011-2022 走看看