前回は花火を打ち上げましたが、今回はちょっとだけ実用性のあるアイコン向けの32×32の画像を作ってみます。
画風としては「インクの滲み」
ユーザーが黒で書いた線画をにじませた感じを狙っています
前回と同じように作ってください
Dim X As Integer
Dim Y As Integer
Sub xxx()
NEXT_ZERO:
R = Rnd() * 250
G = Rnd() * 250
B = Rnd() * 250
If R + G * B = 0 Then GoTo NEXT_ZERO
LOOP_I = Rnd() * 7
For i = 0 To LOOP_I
Y = Y + 1
If Cells(Y + 1, X).Interior.Color = 0 Or Y > 32 Then
Exit For
End If
Cells(Y, X).Interior.Color = RGB(R, G, B)
R = R * 1.2
G = G * 1.2
B = B * 1.2
Next i
End Sub
Sub yyy()
For X = 2 To 32
For Y = 2 To 32
R = 0
G = 0
B = 0
If Cells(Y, X).Interior.Color <> 0 Then
For sy = -1 To 1
For sx = -1 To 1
lColorValue = Cells(Y + sy, X + sx).Interior.Color
R = R + lColorValue Mod 256
G = G + Int(lColorValue / 256) Mod 256
B = B + Int(lColorValue / 256 / 256)
Next sx
Next sy
R = R / 9
G = G / 9
B = B / 9
End If
Cells(Y, X).Interior.Color = RGB(R, G, B)
Next Y
Next X
End Sub
Sub ボタン1_Click()
LOOPS = Rnd() * 5
For l = 0 To LOOPS
For X = 1 To 32
For Y = 1 To 32
If Cells(Y, X).Interior.Color = RGB(0, 0, 0) Then
Call xxx
End If
Next Y
Next X
Call yyy
Next l
End Sub
'反転
Sub colRV()
For X = 1 To 32
For Y = 1 To 32
lColorValue = Cells(Y, X).Interior.Color
R = 255 - lColorValue Mod 256
G = 255 - Int(lColorValue / 256) Mod 256
B = 255 - Int(lColorValue / 256 / 256)
Cells(Y, X).Interior.Color = RGB(R, G, B)
Next Y
Next X
End Sub
シートのセルを正方形にして、左上(A1)から32×32の範囲に黒(R,G,B=0,0,0)で線画を書きます
ボタン1を押すとインクが滲んだような状況になります。
連続してボタンを押すと徐々に滲みが濃くなります
全体的に色が暗めになりますので、マクロの実行で「colRV」を実行すると色が反転できます。
今回もAIというほどではないですが、まあ世の中のAIの多くがこんな感じじゃないかなとw
関係者から怒られそうですが
次回はもう少しちゃんとした話ができればと思っています。
▼この記事がいいね!と思ったらブックマークお願いします
