笔记一:画笔、笔刷认识

笔记一:画笔、笔刷认识,第1张

概述pen主要画线(直线、矩形、圆等) brush主要用于填充 Imports System.DrawingImports System.MathPublic Class Form1 Dim gr As Graphics Dim pen1 As New System.Drawing.Pen(Color.Black, 3) Dim bp As System.Drawing.B



pen主要画线(直线、矩形、圆等)

brush主要用于填充



imports System.Drawingimports System.MathPublic Class Form1    Dim gr As Graphics    Dim pen1 As New System.Drawing.Pen(color.Black,3)    Dim bp As System.Drawing.Bitmap    Const pi As Single = 3.14159    Private Sub button1_Click(sender As Object,e As EventArgs) Handles button1.Click        PictureBox1.Refresh()        pen1.DashStyle = drawing2d.DashStyle.Dot        pen1.color = color.Blue        gr = PictureBox1.CreateGraphics        gr.Drawline(pen1,100,300)        '画椭圆        pen1.DashStyle = drawing2d.DashStyle.DashDotDot '重设线型        pen1.color = color.BlueViolet        gr.DrawEllipse(pen1,10,200,200)        gr.dispose()    End Sub        Private Sub button2_Click(sender As Object,e As EventArgs) Handles button2.Click        PictureBox1.Refresh()        pen1.color = color.Green        pen1.DashStyle = drawing2d.DashStyle.Dot        pen1.WIDth = 1        Dim x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,r,s,t,u As Single        For a As Single = 0 To 2 * pi Step pi / 120            x1 = 240 + 30 * Cos(a)            y1 = 160 + 15 * Sin(a)            r = 60 * (1 + 1 / 6 * Sin(3 * a))            s = 80 * (1 + 1 / 6 * Sin(4 * a))            t = 100 * (1 + 1 / 6 * Sin(5 * a))            u = 140 * (1 + 1 / 8 * Sin(6 * a))            x2 = r * Cos(a + pi / 20) + 240            y2 = r * Sin(a + pi / 20) + 160            x3 = s * Cos(a) + 240            y3 = s * Sin(a) + 160            x4 = t * Cos(a + pi / 20) + 240            y4 = t * Sin(a + pi / 20) + 160            x5 = 1.5 * u * Cos(a) + 240            y5 = u * Sin(a) + 160            pen1.color = color.Red            gr = PictureBox1.CreateGraphics            gr.Drawline(pen1,x1,y2)            pen1.color = color.BlueViolet            gr.Drawline(pen1,y3)            pen1.color = color.Red            gr.Drawline(pen1,y4)            pen1.color = color.GreenYellow            gr.Drawline(pen1,y5)        Next    End Sub    Private Sub button3_Click(sender As Object,e As EventArgs) Handles button3.Click        'HatchBrush()        阴影笔刷        'linearGradIEntBrush   线性渐变笔刷         'SolIDBrush          单色笔刷        'TextureBrush       纹理笔刷        'PathGradIEntBrus  渐变色填充        '阴影笔刷(十字图案)        Dim br1 As System.Drawing.drawing2d.HatchBrush        br1 = New System.Drawing.drawing2d.HatchBrush(drawing2d.HatchStyle.Cross,color.Red,color.Black)        gr = PictureBox1.CreateGraphics        gr.FillEllipse(br1,250,150)        br1.dispose()        '线性渐变笔刷        Dim br2 As System.Drawing.drawing2d.linearGradIEntBrush        Dim p1 As New Point(140,140) 'p1,p2控制渐变频率        Dim p2 As New Point(160,170)        br2 = New System.Drawing.drawing2d.linearGradIEntBrush(p1,p2,color.Black)        gr.FillRectangle(br2,150,50)        br2.dispose()        '渐变色填充(不规则或多边形)        Dim p(2) As Point '建立path        p(0).X = 0 : p(0).Y = 0        p(1).X = 20 : p(1).Y = 10        p(2).X = 11 : p(2).Y = 22        Dim br3 As System.Drawing.drawing2d.PathGradIEntBrush        br3 = New System.Drawing.drawing2d.PathGradIEntBrush(p,Drawing.drawing2d.WrapMode.Tile)        br3.Centercolor = color.Blue  '中心色        br3.Surroundcolors = New color() {color.Red,color.Green,color.Black} '边沿色对应各点数,除非是圆(一种色)        br3.CenterPoint = New Point(11,15) '指定中心点        gr.FillEllipse(br3,100)        br3.dispose()    End Sub    Private Sub button4_Click(sender As Object,e As EventArgs) Handles button4.Click        PictureBox1.Refresh()    End SubEnd Class














仔细一看上面PathGradIEntBrush笔刷,发现每个不规则封闭图形中好像有“间距”,

我们放大看一下,原来,并不是间距,而是以这个不规则图外沿作为一个矩形,“平辅”到整个图形中。

添加一下辅助线,就可以清晰看出它成图的原因了:

总结

以上是内存溢出为你收集整理的笔记一:画笔、笔刷认识全部内容,希望文章能够帮你解决笔记一:画笔、笔刷认识所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1277182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存