这里是勇芳编写的软件使用教程和使用帮助
论坛的首页 勇芳的软件
教程和帮助
  • VisualFreeBasic编程文档
  • 勇芳系列软件帮助说明教程
  • 留言或交流 登录
    登录
    侧边栏壁纸
    博主头像
    勇芳

    • 累计撰写 330 篇文章
    • 累计收到 0 条评论
    • 首页
    • 栏目
      • 论坛的首页
      • 勇芳的软件
      • 教程和帮助
        • VisualFreeBasic编程文档
        • 勇芳系列软件帮助说明教程
      • 留言或交流
      • 登录
    教程和帮助
    • VisualFreeBasic游戏趣味编程_5.7_得分与显示效果改进 2026-1-21
      VisualFreeBasic游戏趣味编程_5.7_得分与显示效果改进 定义整型变量记录游戏的得分,并初始化为0 Dim score As Long ' 得分 当用户按空格键并且游戏没有失败,则得分增加1: score = score + 1 ' 得分+1 最后将score转换为字符串输出: gg.Font "黑体", 14 gg.SetColor BGR(0,178,0) '文字颜色 gg.DrawString 5,90,"得分:" & score '显示得分 填充绘制圆盘,随着针数的增加,圆盘填充颜色越来越鲜艳: gg.Brush HSBtoRGB_Gdi(HSB(0,lineNum,100,255)) 将正在旋转的针的颜色设为蓝色,最新发射的针的颜色设为红色: If i = lineNum -1 Then gg.Pen 3, BGR(204, 0, 0) 添加发射针的动画 If 发射动画 Then gg.DrawLine 100 - 发射动画, 120, 60 + (100 - 发射动画), 120 发射动画 -= 2 最后执行结果,圈在旋转,按空格,针会扎过去。 完整代码 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim lineNum As Long = 0 gg.Brush '不填充色彩 Dim rotateSpeed As Single = 0.5 Dim Angles(999) As Single Dim i As Long Dim score As Long ' 得分 Dim 发射动画 As Long Do gg.Cls gg.Font "黑体", 14 gg.SetColor BGR(0, 178, 0) '文字颜色 gg.DrawString 5, 90, "得分:" & score '显示得分 gg.Pen 3, 0 If 发射动画 Then gg.DrawLine 100 - 发射动画, 120, 60 + (100 - 发射动画), 120 发射动画 -= 2 If 发射动画 = 0 Then For i = 0 To lineNum -1 '如果两根针之间角度接近,认为碰撞,游戏失败 If Abs(Angles(i) -180) <= 0.6 Then rotateSpeed = 0 '旋转速度设为0 Exit For '不用再比较了,循环跳出 End If Next If rotateSpeed = 0 Then Exit Do '游戏结束 score = score + 1 ' 得分+1 Angles(lineNum) = 180 lineNum += 1 End If Else gg.DrawLine 0, 120, 60, 120 If IsKeyPress(VK_SPACE) Then '按下空格键 If lineNum < 1000 Then 发射动画 = 100 End If End If End If If lineNum Then '有针的情况 gg.Pen 3, BGR(0, 128, 255) For i = 0 To lineNum -1 Angles(i) = Angles(i) + rotateSpeed '角度增加 If Angles(i) > 360 Then Angles(i) = 0 xEnd = 200 + lineLength *Cos(Angles(i) * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(Angles(i) * pi) If i = lineNum -1 Then gg.Pen 3, BGR(204, 0, 0) gg.DrawLine 200, 120, xEnd, yEnd Next End If gg.Pen 2, BGR(255, 0, 0) gg.Brush HSBtoRGB_Gdi(HSB(0, lineNum, 100, 255)) gg.DrawEllipse 160, 80, 80, 80 gg.Redraw Sleep 10 Loop End Sub 作业:针扎失败后,可以搞一个爆炸效果动画。
      • 2026年-1月-21日
      • 43 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.6_游戏失败判断 2026-1-21
      VisualFreeBasic游戏趣味编程_5.6_游戏失败判断 当新增加的针和已有针发生碰撞时,游戏失败。在此设定当两根针的旋转角度差的绝对值小于0.5度时,认为两根针足够接近,即发生了碰撞,然后退出游戏循环 If IsKeyPress(VK_SPACE) Then '按下空格键 If lineNum < 1000 Then For i = 0 To lineNum -1 '如果两根针之间角度接近,认为碰撞,游戏失败 If Abs(Angles(i) -180) <= 0.6 Then rotateSpeed = 0 '旋转速度设为0 Exit For '不用再比较了,循环跳出 End If Next If rotateSpeed = 0 Then Exit Do '游戏结束 其中,新增加针的旋转角度是 180 度,Abs(Angles(i) -180)是和已有针的旋转角度差。abs( )为求绝对值的函数,即任何一个大于或等于0的数的绝对值是其自身,任何一个小于0的数的绝对值是其自身乘以-1 Sub 游戏执行过程(hWndForm As hWnd) Dim x As Long =-3 Dim y As Single =3.5 Print Abs(x) Print Abs(y) End sub 程序运行后输出: 3 3.5 当Abs(Angles(i) -180)成立时,认为新增加的针和已有针发生碰撞,即将旋转速度rotateSpeed设为0,所有针停止旋转。 此外,由于这时不需要再判断和其他针是否碰撞,因此使用Exit For语句,跳出当前for循环。 Sub 游戏执行过程(hWndForm As hWnd) Dim i As Long For i = 1 To 5 If i = 3 Then Exit For Print i Next End sub 程序运行后输出: 1 2 当i等于3时,运行Exit For语句,跳出for循环,则仅输出1、2两个数字。 还有一个continue;语句,表示跳过当次循环,循环语句继续运行。输入并运行以下代码 Sub 游戏执行过程(hWndForm As hWnd) Dim i As Long For i = 1 To 5 If i = 3 Then Continue For Print i Next End sub 程序运行后输出: 1 2 4 5 当i等于3时,运行continue For 语句,跳过当次for循环,继续运行下一次循环,则输出1、2、4、5这4个数字。 游戏失败后,rotateSpeed=0,然后退出游戏循环 If rotateSpeed = 0 Then Exit Do '游戏结束 全部成品代码 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim lineNum As Long = 0 gg.Brush '不填充色彩 Dim rotateSpeed As Single = 0.5 Dim Angles(999) As Single Dim i As Long Do gg.Cls gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 gg.DrawLine 0, 120, 60, 120 If IsKeyPress(VK_SPACE) Then '按下空格键 If lineNum < 1000 Then For i = 0 To lineNum -1 '如果两根针之间角度接近,认为碰撞,游戏失败 If Abs(Angles(i) -180) <= 0.6 Then rotateSpeed = 0 '旋转速度设为0 Exit For '不用再比较了,循环跳出 End If Next If rotateSpeed = 0 Then Exit Do '游戏结束 Angles(lineNum) = 180 lineNum += 1 Sleep 100 End If End If If lineNum Then '有针的情况 For i = 0 To lineNum -1 Angles(i) = Angles(i) + rotateSpeed '角度增加 If Angles(i) > 360 Then Angles(i) = 0 xEnd = 200 + lineLength *Cos(Angles(i) * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(Angles(i) * pi) gg.DrawLine 200, 120, xEnd, yEnd Next End If gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160, 80, 80, 80 gg.Redraw Sleep 10 Loop End Sub
      • 2026年-1月-21日
      • 54 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.5_针的发射与新增 2026-1-21
      VisualFreeBasic游戏趣味编程_5.5_针的发射与新增 首先在画面左边绘制一根针,表示待发射针的位置: gg.DrawLine 0, 120, 100, 120 假设初始状态下没有针在旋转: Dim lineNum As Long = 0 浮点数数组存储所有可能针的旋转角度,假设最多有1000根针 Dim Angles(999) As Single 当用户按下空格键时,针的个数加1,并且新增加的针初始角度为PI。用户不断按下空格键,即可持续生成新的针 If IsKeyPress(VK_SPACE) Then '按下空格键 If lineNum < 1000 Then Angles(lineNum) = 180 lineNum += 1 Sleep 100 End If End If 全部代码 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim lineNum As Long = 0 gg.Brush '不填充色彩 Dim rotateSpeed As Single = 0.5 Dim Angles(999) As Single Dim i As Long Do gg.Cls gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 gg.DrawLine 0, 120, 60, 120 If IsKeyPress(VK_SPACE) Then '按下空格键 If lineNum < 1000 Then Angles(lineNum) = 180 lineNum += 1 Sleep 100 End If End If If lineNum Then '有针的情况 For i = 0 To lineNum -1 Angles(i) = Angles(i) + rotateSpeed '角度增加 If Angles(i) > 360 Then Angles(i) = 0 xEnd = 200 + lineLength *Cos(Angles(i) * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(Angles(i) * pi) gg.DrawLine 200, 120, xEnd, yEnd Next End If gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160, 80, 80, 80 gg.Redraw Sleep 10 Loop End Sub
      • 2026年-1月-21日
      • 40 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.4_批量绘制函数 2026-1-21
      VisualFreeBasic游戏趣味编程_5.4_批量绘制函数 当绘制的元素较多时,会出现明显的画面闪烁,这时可以使用批量绘图函数。 以上情况是在使用普通绘图必须要做的事情。 然而我们用的是 yGDI 绘图类(可以查看 VFB代码绘图篇) Dim gg As yGDI 有缓冲,绘图快。不需要考虑这些问题。
      • 2026年-1月-21日
      • 60 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.3_利用数组实现多根针的绘制 2026-1-21
      VisualFreeBasic游戏趣味编程_5.3_利用数组实现多根针的绘制 要实现多根针的绘制,需要记录每根针的角度值。这一节将介绍数组的概念,读者可以输入并运行以下代码: Sub 游戏执行过程(hWndForm As hWnd) Dim a(2) As Long a(0) = 1 Print a(0) a(1) = 3 *a(0) Print a(1) a(2) = a(0) + a(1) Print a(2) End sub 程序运行后输出: 其中,Dim a(2) As Long定义了整型数组a,a一共有3个元素——a(0)、a(1)、a(2)。括号中的0、1、2称为数组的下标,从0开始编号,到数组元素个数减1。注意,数组的下标不能超出范围,否则软件会崩溃,这种错误称为数组越界。 数组元素和一般变量类似,比如,可以进行赋值(a(0)=1;),可以输出(print a(0),数组的元素之间也可以进行运算(a(2) = a(0)+a(1) 。 也可以在定义数组时对数组元素赋初始值,并利用for循环语句输出数组的所有元素: Sub 游戏执行过程(hWndForm As hWnd) Dim a(4) As Long= {1,3,5,7,9} Dim i As Long For i = 0 To 4 Print a(i) Next Dim b(4) As Long= {2,4,6} For i = 0 To 4 Print b(i) Next End Sub 程序运行后输出: 1 3 5 7 9 2 4 6 0 0 其中,Dim a(4) As Long= {1,3,5,7,9}表示定义数组a,并用括号里的5个整数对数组的5个元素进行初始化,然后利用for语句输出数组的所有元素值。 Dim b(4) As Long= {2,4,6}表示定义数组b,并用括号里面的3个整数对数组的前3个元素进行初始化,后面的两个元素值自动赋值为0。 除了可以定义整型数组,还可以定义字符型数组、浮点数数组。以下代码为求出浮点数数组中的最大值与最小值: Sub 游戏执行过程(hWndForm As hWnd) Dim a(7) As Single = {21.5, 13.7, 10.5, -7, 19, 20.5, -2.3, 13.2} Dim 最小 As Single = a(0) Dim 最大 As Single = a(0) Dim i As Long For i = 0 To 7 If a(i) < 最小 Then 最小 = a(i) If a(i) > 最大 Then 最大 = a(i) Next Print "最大值:" & 最大 & ",最小值:" & 最小 end sub 程序运行后输出:最大值:21.5,最小值:-7 练习题5-2: 定义浮点数数组存储7个元素——1.2、2.3、3.0、4.8、5.6、6.9、7.8,编程求解数组所有元素的平方和。 回到游戏,假设有20根针: Dim lineNum As Long = 20 定义浮点数数组存储所有针的旋转角度: Dim Angles(19) As Long 首先利用for循环语句,让数组中针的角度均匀分布 Dim i As Long For i = 0 To 19 Angles(i) = i * 18 Next 在do循环语句中,利用for语句让数组中所有针的角度值增加rotateSpeed,即可实现所有针的旋转与显示。完整代码参看 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim lineNum As Long = 20 gg.Brush '不填充色彩 Dim rotateSpeed As Long = 1 Dim Angles(19) As Long Dim i As Long For i = 0 To 19 Angles(i) = i * 18 Next Do gg.Cls gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 For i = 0 To 19 Angles(i) = Angles(i) + rotateSpeed '角度增加 If Angles(i) > 360 Then Angles(i) = 0 xEnd = 200 + lineLength *Cos(Angles(i) * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(Angles(i) * pi) gg.DrawLine 200, 120, xEnd, yEnd Next gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160, 80, 80, 80 gg.Redraw Sleep 10 Loop End Sub 运行效果是在旋转的
      • 2026年-1月-21日
      • 60 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.2_针的旋转 2026-1-21
      VisualFreeBasic游戏趣味编程_5.2_针的旋转 针的起点坐标为中心(200,120),假设针的长度为lineLength,针的旋转角度为angle,则由三角函数可以求出针的末端坐标(xEnd,yEnd)。完整代码参看。 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim As Long angle = 300 '针的旋转角度 xEnd = 200 + lineLength *Cos(angle * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(angle * pi) gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 gg.Brush '不填充色彩 gg.DrawLine 200, 120, xEnd, yEnd gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160, 80, 80, 80 End Sub 正弦函数sin()、余弦函数cos(),它的参数是弧度,并不是角度,因此 需要 Dim pi As Single = 3.1415926 / 180 来把角度转换成弧度。 程序运行后输出效果如图5-3所示。 进一步,假设针的旋转速度为rotateSpeed,在DO循环中让针的角度逐渐增加(angle = angle + rotateSpeed),即实现了针的旋转动画效果。完整代码参看 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm Dim pi As Single = 3.1415926 / 180 Dim lineLength As Long = 100 ' 针的长度 Dim As Long xEnd, yEnd ' 针的末端坐标(针起始位置为圆心) Dim As Long angle = 300 '针的旋转角度 gg.Brush '不填充色彩 Dim rotateSpeed As Long = 2 Do gg.Cls angle = angle + rotateSpeed '角度增加 xEnd = 200 + lineLength *Cos(angle * pi) '计算针的末端坐标 yEnd = 120 + lineLength *Sin(angle * pi) gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 gg.DrawLine 200, 120, xEnd, yEnd gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160, 80, 80, 80 gg.Redraw Sleep 10 Loop End Sub 程序运行后,指针不停的转动 还有一个不容易发现的BUG,FB语言中的整数、浮点数均有值域,为了防止角度变量angle无限增大,设定当angle>360时,应当执行angle = 0。 Do gg.Cls angle = angle + rotateSpeed '角度增加 If angle > 360 Then angle = 0 xEnd = 200 + lineLength *Cos(angle * pi) '计算针的末端坐标 练习题5-1:编程绘制图5-5所示的sin(x)函数曲线。
      • 2026年-1月-21日
      • 55 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_5.1_绘制圆盘与针 2026-1-21
      VisualFreeBasic游戏趣味编程_5.1_绘制圆盘与针 输入并运行以下代码,可以在画面中间绘制一个圆表现圆盘、一条线段,用来表示一根针,圆心坐标及线段起点坐标均为(200,120)。 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm gg.Pen 3, BGR(0, 0, 0) '线宽为3,这样针看起来更明显 gg.Brush '不填充色彩 gg.DrawLine 200,120,300,120 gg.Pen 2, BGR(255, 0, 0) '设置圆盘线条颜色为红色 gg.DrawEllipse 160,80,80,80 End Sub 其中,gg.Pen 3, BGR(0, 0, 0) 线宽度为3(线条默认宽度为1)颜色为黑。 程序运行后输出效果如图5-2所示。
      • 2026年-1月-21日
      • 49 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_第5章_“见缝插针”游戏 2026-1-21
      VisualFreeBasic游戏趣味编程_第5章_“见缝插针”游戏 在本章我们将探讨如何实现一个“见缝插针”游戏。按下空格键后发射一根针到圆盘上,所有针逆时针方向转动;如果新发射的针碰到已有的针,游戏结束。如图5-1所示。 本章首先讲解了如何绘制圆盘与针,利用三角函数实现了针的旋转;然后介绍了一维数组的概念,并利用数组解析了如何实现多根针的效果;接着利用批量绘制函数分析了绘制效果改进方法;最后分析了针的发射与增加、游戏失败判断、得分与显示效果的改进方法。
      • 2026年-1月-21日
      • 47 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_4.7_按键切换效果 2026-1-21
      VisualFreeBasic游戏趣味编程_4.7_按键切换效果 利用do循环和IsKeyPress()函数,可以实现每次按键后,重新生成随机颜色。另外,利用Randomize()函数对随机函数初始化,避免每次运行的随机颜色都一样。 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm gg.Cls BGR(180, 180, 180) 'GDI的颜色值。 gg.Pen 0, 0 '设置线条为没有 Dim i As Long, j As Long, 度 As Long Do Randomize Dim h As Long = int(Rnd * 18) * 10 Dim color1 As COLORREF = HSBtoRGB_Gdi(HSB(h, 90, 80, 255)) Dim color2 As COLORREF = HSBtoRGB_Gdi(HSB(h + 180, 90, 80, 255)) For j = 110 To 30 Step -25 For i = 0 To 350 Step 18 画扇形(gg, 120, 120, j, i + 3 + 度, i + 0 + 度, BGR(0, 0, 0)) 画扇形(gg, 120, 120, j, i + 8 + 度, i + 3 + 度, color1) 画扇形(gg, 120, 120, j, i + 13 + 度, i + 8 + 度, BGR(255, 255, 255)) 画扇形(gg, 120, 120, j, i + 18 + 度, i + 13 + 度, color2) Next 度 += 9 Next gg.Redraw Do If IsKeyPress(VK_SPACE) Then Exit Do'按下了空格键" Sleep 100 Loop Loop End Sub 练习题4-4:gg.DrawLine (x1, y1, x2, y2)可以画一条直线,(x1,y1)、(x2,y2)为直线两个端点的坐标。尝试绘制图4-15所示的围棋棋盘。 练习题4-5:利用画线函数和循环语句,尝试绘制图4-16所示的错觉图片。其错觉原理和“旋转蛇”错觉原理一样,第1行、第3行图片好像在向左移动,第2行、第4行图片好像在向右移动。
      • 2026年-1月-21日
      • 41 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic游戏趣味编程_4.6_HSB颜色模型 2026-1-21
      VisualFreeBasic游戏趣味编程_4.6_HSB颜色模型 除了RGB颜色模型外,还有一种根据颜色的直观特性创建的颜色模型——HSB,如图4-12所示。 H是Hue的首字母,表示色调,取值范围为0~360,刻画不同的色彩,比如红色为0,绿色为120,蓝色为240;S是Saturation的首字母,表示饱和度,取值范围为 0% -- 100%,表示混合了白色的比例,值越高颜色越鲜艳;B 表示亮度度,取值范围为0% -- 100%,等于0时为黑色,等于100时最明亮。 输入并运行以下代码: Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm gg.Cls BGR(180, 180, 180) 'GDI的颜色值。 gg.Pen 0, 0 '设置线条为没有 Dim i As Long For i = 0 To 350 Step 10 画扇形(gg, 120, 120, 110, i+10, i , HSBtoRGB_Gdi(HSB(i, 100, 100, 255))) Next End Sub 其中,HSB() 函数获得 HSB的颜色值。HSBtoRGB_Gdi( )函数可以将HSB颜色转换为RGB颜色,变量i的值从0变到360,HSBtoRGB_Gdi(i,100,100)则得到了光谱上各种单色的效果。如图所示。 利用随机数和HSV颜色模型,可以生成一组两种颜色的值: Randomize Dim h As Long = int(Rnd * 18)*10 Dim color1 As COLORREF = HSBtoRGB_Gdi(HSB(h, 90, 80, 255)) Dim color2 As COLORREF = HSBtoRGB_Gdi(HSB(h + 180, 90, 80, 255)) 其中,颜色1的色调h在0~180,颜色2的色调为h+180,修改代码,可以实现每个圆盘的随机颜色效果: 所有代码 Sub 游戏执行过程(hWndForm As hWnd) Dim gg As yGDI = hWndForm gg.Cls BGR(180, 180, 180) 'GDI的颜色值。 gg.Pen 0, 0 '设置线条为没有 Dim i As Long, j As Long, 度 As Long Dim As Long centerX, centerY For centerX = 70 To 310 Step 120 For centerY = 70 To 190 Step 120 Randomize Dim h As Long = int(Rnd * 18)*10 Dim color1 As COLORREF = HSBtoRGB_Gdi(HSB(h, 90, 80, 255)) Dim color2 As COLORREF = HSBtoRGB_Gdi(HSB(h + 180, 90, 80, 255)) For j = 60 To 20 Step -20 For i = 0 To 350 Step 18 画扇形(gg, centerX, centerY, j, i + 3 + 度, i + 0 + 度, BGR(0, 0, 0)) 画扇形(gg, centerX, centerY, j, i + 8 + 度, i + 3 + 度, color1) 画扇形(gg, centerX, centerY, j, i + 13 + 度, i + 8 + 度, BGR(255, 255, 255)) 画扇形(gg, centerX, centerY, j, i + 18 + 度, i + 13 + 度, color2) Next 度 += 9 Next Next Next End Sub 假如需要 HSB颜色,VFB已经直接提供 其中,A值是透明度。在画画中不支持HSB,需要转换函数转换为 RGB
      • 2026年-1月-21日
      • 54 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • 11
    • 12
    • 13
    • 14
    • 15
    博主栏壁纸
    博主头像 勇芳

    330 文章数
    0 评论量
    • QQ游戏大厅多开版_旧版_2012到2025版
    • 使用Sandboxie沙盒多开QQ游戏大厅
    • Sandboxie沙盒(隔离软件)
    人生倒计时
    最新评论
    链接
    • 公益·寻亲,让爱回家
    • Visual Basic6 语言和控件手册
    • CWindow类库帮助FreeBasic版
    • FreeBASIC 帮助文档中文版
    • Windows GDI 编程手册
    • Windows GDI+ 编程手册
    • SQLite3数据库API手册
    • WebBrowser控件编程手册
    • Win32API参考手册
    • Windows 编程宝典
    • WinHttp参考资料
    • WMI编程手册
    • VisualFreeBasic编程文档
    舔狗日记
    载入天数...载入时分秒...

    © 2025 勇芳软件工作室 版权所有

    ICP备案图标 浙ICP备11006222号-1 | 公安备案图标 33100402331731号

    powered by emlog 浙ICP备11006222号-1