refactor: 优化测试函数

This commit is contained in:
lixiangwuxian 2025-05-10 13:06:18 +08:00
parent 56092990f0
commit 836c9711ba

164
main.go
View File

@ -1,9 +1,13 @@
package main package main
import ( import (
"bytes"
"image" "image"
"image/color" "image/color"
"image/png"
"log" "log"
"math"
"os"
"git.lxtend.com/lixiangwuxian/imagedd/font2img" "git.lxtend.com/lixiangwuxian/imagedd/font2img"
"git.lxtend.com/lixiangwuxian/imagedd/sprite" "git.lxtend.com/lixiangwuxian/imagedd/sprite"
@ -25,97 +29,97 @@ func main() {
Position: image.Point{X: 0, Y: 0}, Position: image.Point{X: 0, Y: 0},
}) })
} }
// { {
// wordSprite := &sprite.Sprite{ wordSprite := &sprite.Sprite{
// Name: "word", Name: "word",
// Index: 5, Index: 5,
// Position: image.Point{X: 0, Y: 0}, Position: image.Point{X: -30, Y: 30},
// } }
// img, err := font2img.RenderCharToImage(font, '🤣', 90, color.Black) img, err := font2img.RenderCharToImage(nil, '🤣', 40, color.Black)
// if err != nil { if err != nil {
// log.Fatal(err) log.Fatal(err)
// } }
// wordSprite.Image = img wordSprite.Image = img
// board.AddSprite(wordSprite) board.AddSprite(wordSprite)
// } }
{ {
textSprite := &sprite.Sprite{ textSprite := &sprite.Sprite{
Name: "text", Name: "text",
Index: 5, Index: 5,
Position: image.Point{X: 10, Y: 12}, Position: image.Point{X: 10, Y: 12},
} }
img, err := font2img.RenderTextToTrimmedImage(nil, "usss测试\n测试📧测✌试测\n试🥳🧁🍰\n🎁🎂🎈🎺🎉🎊\n📧🧿🌶无焊无缝🔋😂❤😍🤣😊🥺\n🙏💕😭😘👍\n😅👏测试测试", 12, color.Black, 0, 0) img, err := font2img.RenderTextToTrimmedImage(nil, "ddjdgj测试\n测试📧测✌试测\n试🥳🧁🍰\n🎁🎂🎈🎺🎉🎊\n📧🧿🌶adadadada🔋😂❤😍🤣😊🥺\n🙏💕😭😘👍\n😅👏测试测试", 12, color.Black, 0, 0)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
textSprite.Image = img textSprite.Image = img
board.AddSprite(textSprite) board.AddSprite(textSprite)
} }
// { {
// faceBytes, err := os.ReadFile("face.png") faceBytes, err := os.ReadFile("face.png")
// if err != nil { if err != nil {
// log.Fatal(err) log.Fatal(err)
// } }
// faceImage, err := png.Decode(bytes.NewReader(faceBytes)) faceImage, err := png.Decode(bytes.NewReader(faceBytes))
// if err != nil { if err != nil {
// log.Fatal(err) log.Fatal(err)
// } }
// faceSprite := &sprite.Sprite{ faceSprite := &sprite.Sprite{
// Name: "face", Name: "face",
// Image: faceImage, Image: faceImage,
// Index: 1, Index: 1,
// Position: image.Point{X: -100, Y: -100}, Position: image.Point{X: -100, Y: -100},
// } }
// faceSprite.Rotate(math.Pi / 2) faceSprite.Rotate(math.Pi / 2)
// board.AddSprite(faceSprite) board.AddSprite(faceSprite)
// } }
// { {
// rect := image.NewRGBA(image.Rect(0, 0, 101, 101)) rect := image.NewRGBA(image.Rect(0, 0, 101, 101))
// rectSprite := &sprite.Sprite{ rectSprite := &sprite.Sprite{
// Name: "rect", Name: "rect",
// Image: rect, Image: rect,
// Index: 2, Index: 20,
// Position: image.Point{X: 20, Y: 20}, Position: image.Point{X: 20, Y: 20},
// } }
// lineL := &sprite.Line{ lineL := &sprite.Line{
// Start: image.Point{X: 0, Y: 100}, Start: image.Point{X: 0, Y: 100},
// End: image.Point{X: 50, Y: 0}, End: image.Point{X: 50, Y: 0},
// Width: 1, Width: 1,
// Color: color.RGBA{0, 0, 0, 255}, Color: color.RGBA{0, 0, 0, 255},
// } }
// lineL.AddToSprite(rectSprite) lineL.AddToSprite(rectSprite)
// lineR := &sprite.Line{ lineR := &sprite.Line{
// Start: image.Point{X: 100, Y: 100}, Start: image.Point{X: 100, Y: 100},
// End: image.Point{X: 50, Y: 0}, End: image.Point{X: 50, Y: 0},
// Width: 1, Width: 1,
// Color: color.RGBA{0, 0, 0, 255}, Color: color.RGBA{0, 0, 0, 255},
// } }
// lineR.AddToSprite(rectSprite) lineR.AddToSprite(rectSprite)
// lineB := &sprite.Line{ lineB := &sprite.Line{
// Start: image.Point{X: 0, Y: 100}, Start: image.Point{X: 0, Y: 100},
// End: image.Point{X: 100, Y: 100}, End: image.Point{X: 100, Y: 100},
// Width: 1, Width: 1,
// Color: color.RGBA{0, 0, 0, 255}, Color: color.RGBA{0, 0, 0, 255},
// } }
// lineB.AddToSprite(rectSprite) lineB.AddToSprite(rectSprite)
// board.AddSprite(rectSprite) board.AddSprite(rectSprite)
// } }
// { {
// circleSprite := &sprite.Sprite{ circleSprite := &sprite.Sprite{
// Name: "circle", Name: "circle",
// Image: image.NewRGBA(image.Rect(0, 0, 101, 101)), Image: image.NewRGBA(image.Rect(0, 0, 101, 101)),
// Index: 3, Index: 3,
// Position: image.Point{X: 30, Y: 20}, Position: image.Point{X: 30, Y: 20},
// } }
// for r := 15; r < 45; r++ { for r := 15.0; r < 45.0; r += 0.01 {
// circle := &sprite.Circle{ circle := &sprite.Circle{
// Center: image.Point{X: 50, Y: 50}, Center: image.Point{X: 50, Y: 50},
// Radius: r, Radius: r,
// Color: color.RGBA{0, 0, 255, 255}, Color: color.RGBA{0, 0, 255, 255},
// } }
// circle.AddToSprite(circleSprite) circle.AddToSprite(circleSprite)
// } }
// board.AddSprite(circleSprite) board.AddSprite(circleSprite)
// } }
board.SaveToPng("test.png") board.SaveToPng("test.png")
} }