GDIPlus圆形频谱Warning F5一键闪瞎

易语言 2020-08-28 10:29:38

GDIPlus圆形频谱Warning F5一键闪瞎

d = 求平方根 (求次方 (半径, 2) + 求次方 (半径, 2))
pt.x = 圆心坐标.x - 半径
pt.y = 圆心坐标.y - 半径
矩形 = 制矩形F (pt.x, pt.y, 2 × 半径, 2 × 半径)
' GdipCreatePen1 (颜色, 1, 0, pen)
' GdipSetPenDashArray (pen, { 4.5, 4 }, 2) ' 定义虚线格式
brush.创建 (颜色)
GdipFillEllipseI (图形指针, brush.取指针 (), pt.x, pt.y, 2 × 半径, 2 × 半径)
' GdipDrawEllipseI (绘画数据.mGraphics, pen, pt.x, pt.y, 2 × 半径, 2 × 半径)
' GdipDeletePen (pen)

.如果真 (取数组成员数 (集_频谱数组) = 0)
返回 ()
.如果真结束
局_句柄 = 主窗口.取窗口句柄 () ' 窗口_取桌面句柄 ()
局_背景色 = 颜色_取随机色 ()
局_前景色 = 颜色_取反色 (局_背景色)
hDC = GetDC (局_句柄)
GP缓存图形.创建 (集_宽高, 集_宽高, )
GP缓存图形.置平滑模式 (#平滑模式_最佳质量)
GP缓存图形.清除 (RGB到ARGB (局_背景色, 255))
画圆_描边 (GP缓存图形.取指针 (), 集_中心坐标, 集_外圆半径, RGB到ARGB (局_前景色, 255), )
角度 = 360 \ 集_份数
rcf_round = 制矩形L (集_中心坐标.x - 集_外圆半径, 集_中心坐标.y - 集_外圆半径, 集_外圆半径 × 2 + 1, 集_外圆半径 × 2 + 1)
.计次循环首 (集_份数, i)
集_画刷.置颜色 (集_颜色组 [i])
.如果真 ((i - 1) × (128 \ 集_份数) + 1 ≤ 128)
h = 集_外圆半径 × 集_频谱数组 [(i - 1) × (128 \ 集_份数) + 1] × 10
h = 集_外圆半径 - 集_内圆半径 - h
.如果真 (h < 0)
h = 0
.如果真结束

.如果真结束

.判断开始 (h < 集_历史值 [i])
集_历史值 [i] = h
.默认
集_历史值 [i] = 集_历史值 [i] + 1
.判断结束

GP缓存图形.填充饼I (集_画刷, rcf_round.左边 + 集_历史值 [i], rcf_round.顶边 + 集_历史值 [i], rcf_round.宽度 - 集_历史值 [i] × 2, rcf_round.高度 - 集_历史值 [i] × 2, (i - 1) × 角度 - 集_偏移, 角度)
.计次循环尾 ()
集_偏移 = 集_偏移 - 0.2
画圆_填充 (GP缓存图形.取指针 (), 集_中心坐标, 集_内圆半径, RGB到ARGB (局_前景色, 255), )
GP缓存图形.复制到DC (hDC)
GP缓存图形.销毁 ()
ReleaseDC (局_句柄, hDC)