mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
- Introduced `gemini-2.5-flash-image-preview` model to the registry with updated definitions. - Enhanced Gemini CLI and API executors to handle image aspect ratio adjustments for the new model. - Added utility function to create base64 white image placeholders based on aspect ratio configurations.
60 lines
955 B
Go
60 lines
955 B
Go
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
|
|
}
|