zoukankan      html  css  js  c++  java
  • 渐变颜色LinearGradientBrush

    LinearGradientBrush是用来渐变效果的,使用的初始化参数是矩形区域,开始颜色,结束颜色,颜色变化方向,它能够形成比较统一的渐变效果,对比PathGradientBrush的渐变,它的特点是它与周围的颜色渐变频率是一样的,设置LinearGradientBrush的区域大小时,可以想象一个大的有渐变色的长方形,压在多边形上面,并根据多边形的边界裁剪。

    效果图

    源码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;

    namespace Graphic
    {
        public partial class Demo_UseLinearGradientBrush : Form
        {
            public Demo_UseLinearGradientBrush()
            {
                InitializeComponent();

               
            }

            private void b_start_color_Click(object sender, EventArgs e)
            {
                ColorDialog clr = new ColorDialog();

                clr.ShowDialog();

                this.p_start_color.BackColor = clr.Color;
            
            }

            private void b_end_color_Click(object sender, EventArgs e)
            {
                ColorDialog clr = new ColorDialog();

                clr.ShowDialog();

                this.p_end_color.BackColor = clr.Color;

              
            }


            private void p_drawpic_Paint(object sender, PaintEventArgs e)
            {
                   drawpic(this.p_start_color.BackColor, this.p_end_color.BackColor);
                  
            }


            //绘图方法
            private void drawpic(Color start, Color end)
            {

                LinearGradientBrush br =
                 new LinearGradientBrush(this.ClientRectangle, start, end, LinearGradientMode.ForwardDiagonal);

                Graphics g = this.p_drawpic.CreateGraphics();//为控件创建Graphics
                g.Clear(this.BackColor);
                g.FillRectangle(br,this.ClientRectangle);

                Font font = new Font("隶书", 50, FontStyle.Bold);
                g.DrawString("测试", font, br, new PointF(100, 50));

              
                g.Dispose();

            }


        }
    }

     

  • 相关阅读:
    mybatis_7分页查询
    mybatis_6日志工厂
    mybatis_5解决属性名和字段名不一致的问题(resultMap)
    mybatis_4配置解析
    mybatis_3CRUD操作
    ARM C函数调用堆栈入栈顺序
    syscall SYSCALL_DEFINE*()实现
    ko kallsyms
    elf文件结构解析
    ko module加载flow
  • 原文地址:https://www.cnblogs.com/huangjihua/p/4125218.html
Copyright © 2011-2022 走看看