几种渐变方法对比(含多种颜色水平渐变、中心至四周渐变等)

原创 2007年09月12日 14:25:00

常用的渐变方法对比如下

界面预览:

 

程序如下:

Imports System.Drawing
Imports System.Drawing.Drawing2D

Public Class form1

    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
Call Me.GradientFill1(Pic1)
        
Call Me.GradientFill2(Pic2)
        
Call Me.GradientFill3(Pic3)
        
Call Me.GradientFill4(Pic4)
    
End Sub


    
Private Sub GradientFill1(ByVal Control As Control)
        
Dim LineBrush As New LinearGradientBrush(Control.ClientRectangle, Color.Red, Color.Blue, LinearGradientMode.Horizontal)
        Control.CreateGraphics.FillRectangle(LineBrush, Control.ClientRectangle)
    
End Sub


    
Private Sub GradientFill2(ByVal Control As Control)
        
Dim path As New GraphicsPath
        path.AddRectangle(Control.ClientRectangle)

        
Dim pgb As New PathGradientBrush(path)

        pgb.CenterPoint 
= Point.op_Implicit(New Point(Control.Width / 2, Control.Height / 2))
        pgb.CenterColor 
= Color.White

        
Dim Colors() As Color = {Color.Red, Color.LightGreen, Color.Yellow, Color.Blue}
        pgb.SurroundColors 
= Colors
        Control.CreateGraphics.FillRectangle(pgb, Control.ClientRectangle)
    
End Sub


    
Private Sub GradientFill3(ByVal Control As Control)
        
Dim path As New GraphicsPath
        path.AddRectangle(Control.ClientRectangle)

        
Dim pgb As New PathGradientBrush(path)
        pgb.CenterPoint 
= Point.op_Implicit(New Point(Control.Width / 2, Control.Height / 2))

        
Dim Colors() As Color = {Color.Red, Color.LightGreen, Color.Yellow, Color.Blue}
        
Dim Positions() As Single = {00.30.61}

        
Dim cb As ColorBlend = New ColorBlend

        cb.Colors 
= Colors
        cb.Positions 
= Positions
        pgb.InterpolationColors 
= cb
        Control.CreateGraphics.FillRectangle(pgb, Control.ClientRectangle)
    
End Sub


    
Private Sub GradientFill4(ByVal Control As Control)
        
Dim Colors() As Color = {Color.Red, Color.LightGreen, Color.Yellow, Color.Blue}
        
Dim Positions() As Single = {00.330.661}
        
Dim cb As ColorBlend = New ColorBlend
        cb.Colors 
= Colors
        cb.Positions 
= Positions

        
Dim LineBrush As New LinearGradientBrush(Control.ClientRectangle, Color.White, Color.Black, LinearGradientMode.Horizontal)
        LineBrush.InterpolationColors 
= cb
        LineBrush.LinearColors 
= Colors
        Control.CreateGraphics.FillRectangle(LineBrush, Control.ClientRectangle)
    
End Sub


End Class


相关文章推荐

css背景渐变几种样式

  • 2012年12月11日 15:26
  • 22KB
  • 下载

Html5系列(十四) canvas 奇怪的形状水平渐变

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1...
  • dhdhxgx
  • dhdhxgx
  • 2015年04月16日 23:13
  • 612

多种渐变样式

  • 2013年04月26日 10:03
  • 461KB
  • 下载

ps渐变颜色

  • 2015年10月30日 23:29
  • 263KB
  • 下载

【 D3.js 高级系列 — 5.1 】 颜色插值和线性渐变

颜色插值指的是给出两个 RGB 颜色值,两个颜色之间的值通过插值函数计算得到。线性渐变是添加到 SVG 图形上的过滤器,只需给出两端的颜色值即可。1. 颜色插值在【高级 - 第 5.0 章】里已经提到...
  • lzhlzz
  • lzhlzz
  • 2015年05月09日 08:35
  • 8215

文本颜色渐变工具

  • 2012年12月17日 22:16
  • 417KB
  • 下载

android设置颜色渐变

  • 2012年08月02日 17:41
  • 146KB
  • 下载

Android特效专辑(二)——ViewPager渲染背景颜色渐变(引导页)

Android特效专辑(二)——ViewPager渲染背景颜色渐变(引导页)首页:http://blog.csdn.net/qq_26787115/article/details/50439020首页...

颜色渐变算法的研究

  • 2012年05月30日 17:26
  • 959KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几种渐变方法对比(含多种颜色水平渐变、中心至四周渐变等)
举报原因:
原因补充:

(最多只允许输入30个字)