chore: cleanup
This commit is contained in:
50
fourBitSquares.go
Normal file
50
fourBitSquares.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/fogleman/gg"
|
||||
)
|
||||
|
||||
/*
|
||||
8x8 square of 100x100 px squares
|
||||
|
||||
First 6 characters of the hash are the color
|
||||
For the next 8 characters each character
|
||||
represents 4 bits of a row being on or off.
|
||||
The image is then mirrored to the right side.
|
||||
|
||||
9d26bf3cf1fb2b2f02d4a2013333f4fcd551cb2e
|
||||
9d26bf -> color
|
||||
3 -> row1
|
||||
c -> row2
|
||||
...
|
||||
b -> row8
|
||||
3 = 0 0 1 1
|
||||
c = 1 1 0 0
|
||||
...
|
||||
b = 1 0 1 1
|
||||
*/
|
||||
func FourBitSquares(dc *gg.Context, username string) {
|
||||
hash := hash(username)
|
||||
|
||||
colorString := hash[0:6]
|
||||
r, g, b := rgbFromHex(colorString)
|
||||
dc.SetRGB255(r, g, b)
|
||||
|
||||
for i, character := range hash[6:14] {
|
||||
integer, _ := strconv.ParseUint(string(character), 16, 4)
|
||||
for j := range 4 {
|
||||
on := hasBit(integer, j)
|
||||
|
||||
dc.DrawRectangle(float64(j * 100), float64(i * 100), 100, 100)
|
||||
dc.DrawRectangle(700 - float64(j * 100), float64(i * 100), 100, 100)
|
||||
if !on {
|
||||
dc.SetRGB255(r, g, b)
|
||||
} else {
|
||||
dc.SetRGB255(255, 255, 255)
|
||||
}
|
||||
dc.Fill()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user