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();

            }


        }
    }

     

  • 相关阅读:
    uva 10561 sg定理
    二进制下 求分数化小数的循环节问题
    zoj 2562 反素数
    uva 11916 解模方程a^x=b (mod n)
    Android 组件化方案探索与思考
    2018谷歌I/O开发者大会8大看点汇总 新品有哪些
    Glide高级详解—缓存与解码复用
    Android性能优化:手把手带你全面实现内存优化
    Android几种强大的下拉刷新库
    Android app 在线更新那点事儿(适配Android6.0、7.0、8.0)
  • 原文地址:https://www.cnblogs.com/huangjihua/p/4125218.html
Copyright © 2011-2022 走看看