现在有二进制的数组,或者十六进制的数组,请问应该怎么设置画笔颜色,让接收到的动态数值表示颜色的不同,从而画出彩色图像
我不确定你是用什么语言。但是 从颜色上来说 就是 RGB red green blue 三个颜色。16禁止表示 0xFF 0xFF 0xFF 这是 red是255 green是255 blue是255 是白色
用这个方法
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.BackColor = Color.White '窗体变为白色底色背景
'----------------------------------------创建颜色
Dim myColor As Color '创建color
Dim rr As Integer
Dim gg As Integer
Dim bb As Integer
rr = CInt(Rnd() * (255 - 0 + 1)) + 0 '产生0-255的随机数 CInt(Rnd() * (n - m + 1)) + m 注意随机数是m到n,n在前头
gg = CInt(Rnd() * (255 - 0 + 1)) + 0 '产生0-255的随机数 CInt(Rnd() * (n - m + 1)) + m
bb = CInt(Rnd() * (255 - 0 + 1)) + 0 '产生0-255的随机数 CInt(Rnd() * (n - m + 1)) + m
myColor = Color.FromArgb(rr, gg, bb) '定义color的颜色,
'----------------------------------------创建graph和画笔
Dim n As Graphics = Me.CreateGraphics '用窗体控件的CreateGraphics方法,创建CreateGraphics对象,书上写的,后面慢慢琢磨
Dim x As Pen = New Pen(myColor, 50) '创建画笔,,颜色用mycolor,后面5是宽度
'----------------------------------------转换vs的坐标为数学坐标
n.TranslateTransform(800, 800) '坐标原点移位到中间,
n.ScaleTransform(1, -1) '坐标x不变,y反向,这个就和数学坐标一致了
n.DrawLine(x, -800, 0, 800, 0) '用x2的钢笔,绘制X轴线
n.DrawLine(x, 0, 800, 0, -800) '用x2的钢笔,绘制y轴线
'----------------------------------------绘制图形
Dim a, b, c, d As Integer
Dim i As Integer
For i = 1 To 2 Step 1
a = CInt(Rnd() * (100 - 500 + 1)) + 500 '产生100-500的随机数 CInt(Rnd() * (n - m + 1)) + m 注意随机数是m到n,n在前头
b = CInt(Rnd() * (100 - 500 + 1)) + 500 '产生100-500的随机数 CInt(Rnd() * (n - m + 1)) + m 注意随机数是m到n,n在前头
c = CInt(Rnd() * (100 - 500 + 1)) + 500 '产生100-500的随机数 CInt(Rnd() * (n - m + 1)) + m 注意随机数是m到n,n在前头
d = CInt(Rnd() * (100 - 500 + 1)) + 500 '产生100-500的随机数 CInt(Rnd() * (n - m + 1)) + m 注意随机数是m到n,n在前头
Dim p1 As Point = New Point(a, b) '把其中两个随机数定义为点的坐标1
Dim p2 As Point = New Point(c, d) '把其中两个随机数定义为点的坐标2
n.DrawLine(x, p1, p2) '画直线用随机点1点2连接
Next
End Sub
我也是菜鸟一个,代码没有优化,但是可以用,