代码拉取完成,页面将自动刷新
/**
* @Author Awen
* @Date 2024/06/01
* @Email wengaolng@gmail.com
**/
package imagedata
import (
"fmt"
"image"
"gitee.com/linqwen/momo/app/rbac/captcha/base/codec"
"gitee.com/linqwen/momo/app/rbac/captcha/base/option"
)
// PNGImageData .
type PNGImageData interface {
Get() image.Image
ToBytes() []byte
ToBase64() string
SaveToFile(filepath string) error
}
var _ PNGImageData = (*pngImageDta)(nil)
// pngImageDta .
type pngImageDta struct {
image image.Image
}
// NewPNGImageData .
func NewPNGImageData(img image.Image) PNGImageData {
return &pngImageDta{
image: img,
}
}
// Get is get the original picture
func (c *pngImageDta) Get() image.Image {
return c.image
}
// SaveToFile is to save PNG as a file
func (c *pngImageDta) SaveToFile(filepath string) error {
if c.image == nil {
return fmt.Errorf("missing image data")
}
return saveToFile(c.image, filepath, true, option.QualityNone)
}
// ToBytes is to convert PNG into byte array
func (c *pngImageDta) ToBytes() []byte {
if c.image == nil {
return []byte{}
}
return codec.EncodePNGToByte(c.image)
}
// ToBase64 is to convert PNG into base64
func (c *pngImageDta) ToBase64() string {
if c.image == nil {
return ""
}
return codec.EncodePNGToBase64(c.image)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。