• 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 联系作者本人。

  • 相关阅读:
    UVa OJ 120
    ACM--string常见用法
    log4j
    总结13.11.9
    Java 动态生成 PDF 文件
    Linux_CentOS-服务器搭建 <七>
    关于dao层的封装和前端分页的结合(文章有点长,耐心点哦)
    Linux_CentOS-服务器搭建 <六>
    Linux_CentOS-服务器搭建 <五> 补充
    JQ获取CKeditor的值
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197278.html
Copyright © 2020-2023  润新知