gpt4 book ai didi

image - Golang png绘制透明

转载 作者:IT王子 更新时间:2023-10-29 02:03:59 28 4
gpt4 key购买 nike

我正在尝试绘制多个透明图像以形成一个大图像并将其保存为 PNG

func generateUserImage(username string, items []models.Item) error {
imageFile, err := os.Create("public/items/users/" + username + ".png")
if err != nil {
return err
}
profileImage := image.NewRGBA(image.Rect(0, 0, 261, 336))
for _, item := range items {
revel.INFO.Println(item)
itemFile, err := os.Open("public/items/universe/" + item.Type + "/" + item.Name + ".png")
if err != nil {
return err
}
itemImage, err := png.Decode(itemFile)
if err != nil {
return err
}
draw.Draw(profileImage, profileImage.Bounds(), itemImage, image.Point{0, 0}, draw.Src)
itemFile.Close()
}
err = png.Encode(imageFile, profileImage)
if err != nil {
return err
}
defer imageFile.Close()
return nil
}

除了最终图像将仅包含范围循环的最后图像(甚至范围循环 5 次)之外,一切似乎都运行良好。所有图片均为 .png 格式并具有透明背景。这是图像外观的演示

enter image description here

你可以尝试保存图片,看到背景是透明的...所以我不知道为什么最后的图片只包含1张图片而不是全部

谢谢

最佳答案

如评论中所述。

draw.Draw(profileImage, profileImage.Bounds(), itemImage, image.Point{0, 0}, draw.Over)

关于image - Golang png绘制透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39687545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com