feat: cleaned up code

This commit is contained in:
2026-02-24 18:20:30 +01:00
Unverified
parent 87d48c905a
commit 548e52b2e4
2 changed files with 26 additions and 19 deletions

45
main.go
View File

@@ -8,24 +8,41 @@ import (
"github.com/fogleman/gg" "github.com/fogleman/gg"
) )
// 8x8 square of 100x100 px squares /*
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 main() { func main() {
dc := gg.NewContext(800, 800) dc := gg.NewContext(800, 800)
hash := hash("InsightForgeOrg") hash := hash("Jaybee18")
colorString := hash[0:6] colorString := hash[0:6]
r, g, b := rgbFromHex(colorString) r, g, b := rgbFromHex(colorString)
dc.SetRGB255(r, g, b) dc.SetRGB255(r, g, b)
for i, character := range hash[6:14] { for i, character := range hash[6:14] {
tmp, _ := strconv.ParseUint(string(character), 16, 8) integer, _ := strconv.ParseUint(string(character), 16, 4)
n := int(tmp) for j := range 4 {
for _, v := range []uint{0, 1, 2, 3} { on := hasBit(integer, j)
on := hasBit(n, v)
dc.DrawRectangle(float64(v * 100), float64(i * 100), 100, 100) dc.DrawRectangle(float64(j * 100), float64(i * 100), 100, 100)
dc.DrawRectangle(700 - float64(v * 100), float64(i * 100), 100, 100) dc.DrawRectangle(700 - float64(j * 100), float64(i * 100), 100, 100)
if !on { if !on {
dc.SetRGB255(r, g, b) dc.SetRGB255(r, g, b)
} else { } else {
@@ -52,17 +69,7 @@ func hash(str string) string {
return fmt.Sprintf("%x", res) return fmt.Sprintf("%x", res)
} }
func hasBit(n int, pos uint) bool { func hasBit(n uint64, pos int) bool {
val := n & (1 << pos) val := n & (1 << pos)
return (val > 0) return (val > 0)
} }
// 9d26bf3cf1fb2b2f02d4a2013333f4fcd551cb2e
// 9d26bf -> color
// 3 -> row1
// c -> row2
// ...
// b -> row8
// 3 = 0 0 1 1
//

BIN
out.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB