| package util |
|
|
| import ( |
| "bytes" |
| "encoding/base64" |
| "image" |
| "image/draw" |
| "image/png" |
| ) |
|
|
| func CreateWhiteImageBase64(aspectRatio string) (string, error) { |
| width := 1024 |
| height := 1024 |
|
|
| switch aspectRatio { |
| case "1:1": |
| width = 1024 |
| height = 1024 |
| case "2:3": |
| width = 832 |
| height = 1248 |
| case "3:2": |
| width = 1248 |
| height = 832 |
| case "3:4": |
| width = 864 |
| height = 1184 |
| case "4:3": |
| width = 1184 |
| height = 864 |
| case "4:5": |
| width = 896 |
| height = 1152 |
| case "5:4": |
| width = 1152 |
| height = 896 |
| case "9:16": |
| width = 768 |
| height = 1344 |
| case "16:9": |
| width = 1344 |
| height = 768 |
| case "21:9": |
| width = 1536 |
| height = 672 |
| } |
|
|
| img := image.NewRGBA(image.Rect(0, 0, width, height)) |
| draw.Draw(img, img.Bounds(), image.White, image.Point{}, draw.Src) |
|
|
| var buf bytes.Buffer |
|
|
| if err := png.Encode(&buf, img); err != nil { |
| return "", err |
| } |
|
|
| base64String := base64.StdEncoding.EncodeToString(buf.Bytes()) |
| return base64String, nil |
| } |
|
|