Documentation ¶
Index ¶
- Constants
- type CircleMask
- type IImage
- type ImageActionType
- type ImageBaseType
- func (o *ImageBaseType) DrawCircleImage(originX, originY, radius int) (err error)
- func (o *ImageBaseType) DrawImage(sub image.Image, x, y int) (err error)
- func (o *ImageBaseType) DrawOneLineText(oneLineText string, tf *truetype.Font, dpi, fontSize float64, ...) (err error)
- func (o *ImageBaseType) DrawRoundImage(radius float64) (err error)
- func (o *ImageBaseType) DrawSubImage(sub IImage, x, y int, debugColorInHex string) (err error)
- func (o *ImageBaseType) GetImage() (srdImg *image.RGBA)
- func (o *ImageBaseType) GetSubImagePosition(subImageID string) (position [4]int, err error)
- func (o *ImageBaseType) ID() string
- func (o *ImageBaseType) LoadFromBuffer(imgBuffer *bytes.Buffer) (err error)
- func (o *ImageBaseType) LoadFromFile(imgFile string) (err error)
- func (o *ImageBaseType) LoadFromImageRGBA(srcImg *image.RGBA) (err error)
- func (o *ImageBaseType) LoadFromNew(width, height int, fontColorInHex string) (err error)
- func (o *ImageBaseType) LoadFromText(word string, maxWidth int, fontFile string, dpi, fontSize float64, ...) (err error)
- func (o *ImageBaseType) LoadFromURL(imgURL string) (err error)
- func (o *ImageBaseType) Resize(newWidth, newHeight uint) (err error)
- func (o *ImageBaseType) SaveToBuffer() (imgBuffer *bytes.Buffer, err error)
- func (o *ImageBaseType) SaveToJPEGFile(imgFile string) (err error)
- func (o *ImageBaseType) SaveToPNGFile(imgFile string) (err error)
- func (o *ImageBaseType) SaveToWEBPFile(imgFile string) (err error)
- func (o *ImageBaseType) SetID(id string)
- type ImageConfigInfoType
- type ImageJPGType
- type ImageMgrType
- type ImagePNGType
- type ImageWEBPType
- type RoundMask
- type SubImageConfigInfoType
Constants ¶
const ( ActionTypeNone = "none" // 作图类型-无 ActionTypeCanvas = "canvas" // 作图类型-画布 ActionTypeFont = "font" // 作图类型-画字 ActionTypeImage = "image" // 作图类型-加载子图 ActionTypeResize = "resize" // 作图类型-调整大小 ActionTypeRound = "round" // 作图类型-裁剪矩形圆角 ActionTypeCircle = "circle" // 作图类型-裁剪圆 ActionTypeLocation = "location" // 作图类型-定位且叠画子图 ImageTypeNone = "none" //图片类型-无 ImageTypePNG = "png" //图片类型-png ImageTypeJPEG = "jpeg" //图片类型-jpg或者jpeg ImageTypeWEBP = "webp" //图片类型-webp ResizeTypeByNone = 0 //调整大小-无 ResizeTypeByWidthAndHeight = 1 //调整大小-根据宽高的调整 ResizeTypeByWidth = 2 //调整大小-只根据宽度调整 ResizeTypeByHeight = 3 //调整大小-只根据高度调整 LocationTypeNone = "none" //定位类型-无 LocationTypeAbsolute = "absolute" //定位类型-绝对定位 LocationTypeRelative = "relative" //定位类型-相对定位 LocationTypeMixed = "mixed" //定位类型-混合定位 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CircleMask ¶
type CircleMask struct {
// contains filtered or unexported fields
}
圆形效果
func (*CircleMask) Bounds ¶
func (m *CircleMask) Bounds() image.Rectangle
func (*CircleMask) ColorModel ¶
func (m *CircleMask) ColorModel() color.Model
type IImage ¶
type IImage interface { LoadFromFile(imgFile string) (err error) // 加载-从文件中加载 LoadFromBuffer(imgBuffer *bytes.Buffer) (err error) // 加载-从buffer中加载 LoadFromURL(imgURL string) (err error) // 加载-从url中加载 LoadFromImageRGBA(img *image.RGBA) (err error) // 加载-设置当前实例为实例对象 LoadFromText(word string, maxWidth int, fontFile string, dpi, fontSize float64, fontColorInHex, bgColorInHex string) (err error) // 加载-根据需要的文字创建一个图像 LoadFromNew(width, height int, fontColorInHex string) (err error) // 加载-新建画板 SetID(id string) // 设置id ID() string // id GetImage() (img *image.RGBA) // 获取-*image.RGBA格式的实例 Resize(newWidth, newHeight uint) (err error) // 操作-重新设置大小 DrawImage(sub image.Image, x, y int) (err error) // 操作-在当前对象的(x,y)位置,叠着画上sub DrawSubImage(sub IImage, x, y int, debugColorInHex string) (err error) // 操作-叠画子图 GetSubImagePosition(subImageID string) (position [4]int, err error) // 获取子图的位置 DrawRoundImage(radius float64) (err error) // 操作,给image加上矩形的圆角 DrawCircleImage(originX, originY, radius int) (err error) //操作,裁剪为圆 SaveToBuffer() (imgBuffer *bytes.Buffer, err error) // 保存-图片为buffer SaveToWEBPFile(imgFile string) (err error) // 保存-图片为webp格式 SaveToPNGFile(imgFile string) (err error) // 保存-图片为png格式 SaveToJPEGFile(imgFile string) (err error) // 保存-图片为jpeg或者jpg格式 }
type ImageActionType ¶
type ImageActionType struct { ActionType string `json:"action_type"` // 类型, font:文字,image:图片加载,resize:重新规划尺寸,round:圆角,circle:圆形,location:摆放在画布位置 //ActionType==font时候的字段 Text string `json:"text"` // 文本 FontBackgroundColor string `json:"font_background_color"` // 文本背景颜色,(只支持#FFFFFF格式) FontFile string `json:"font_file"` // 字体文件,必需字段 FontSizeByHeightPercent string `json:"font_size_by_height_percent"` // 字体大小,画板高度的百分比 FontColor string `json:"font_color"` // 字体颜色(只支持#FFFFFF格式),必需字段 MaxWidth string `json:"max_width"` // 字体所占的最大宽度(为0不限制),必需字段 //ActionType==image时候的字段(image只支持png,jpeg,webp格式) ImageType string `json:"image_type"` //图片类型,image_type=png|jpeg|webp ImageLocalFile string `json:"image_local_file"` //图片本地路径(为空代表不是本地图片),比如: /data/image/aa.jpeg ImageURLFile string `json:"image_url_file"` //图片url路径(为空代表不是本地图片),比如: https://baidu.com/data/image/aa.jpeg ImageCustomFile string `json:"image_custom_file"` //图片自定义来源,自定义方法获取,此类别让业务按照要求来使用,此处不启用 //ActionType==resize时候的字段 ResizeType int `json:"resize_type"` // 调整大小的规则,0:none,1:根据指定宽高,2:只依据宽度,3:只依据高度 ResizeWidth string `json:"resize_width"` // 图宽度,整数或者画布百分数 ResizeHeight string `json:"resize_height"` // 图高度度,整数或者画布百分数 //ActionType==round时候的字段 RoundRadius string `json:"round_radius"` // 图的矩形圆角半径,整数或者百分数,如果是百分数,代表基于本图width的圆角半径 //ActionType==circle时候的字段 CircleOriginX string `json:"circle_origin_x"` // 图的原点x,整数或者百分数(百分数的话,是基于本图,而不是父图的),none代表不指定,由子图自计算 CircleOriginY string `json:"circle_origin_y"` // 图的原点y,整数或者百分数 CircleRadius string `json:"circle_radius"` // 图的半径,整数或者百分数 //ActionType==location时候的字段 LocationType string `json:"location_type"` // 定位类型,absolute|relative|mixed RelativeToImageID string `json:"sub_image_id"` // 图id,location_type==relative(即相对定位)为同级图id AbsolutePosition string `json:"absolute_position"` // 绝对定位时候的四部定位(顺时针方向:上右底左),每部可为整数或者百分数(none代表忽略定位),至少需要两维信息,举例:10 10 0 0=> 离父元素顶部10,右部10摆放子图 RelativePosition string `json:"relative_position"` // 相对定位时候的四部定位(顺时针方向:上右底左),每部可为整数或者百分数(none代表忽略定位),至少需要两维信息,举例:10 10 0 0=> 离定位元素顶部10,右部10摆放子图在画布中 }
type ImageBaseType ¶
type ImageBaseType struct {
// contains filtered or unexported fields
}
func (*ImageBaseType) DrawCircleImage ¶
func (o *ImageBaseType) DrawCircleImage(originX, originY, radius int) (err error)
DrawRoundImage 操作-裁剪为圆
func (*ImageBaseType) DrawImage ¶
func (o *ImageBaseType) DrawImage(sub image.Image, x, y int) (err error)
DrawImage 操作-在当前对象的(x,y)位置,叠着画上sub
func (*ImageBaseType) DrawOneLineText ¶
func (o *ImageBaseType) DrawOneLineText(oneLineText string, tf *truetype.Font, dpi, fontSize float64, fontColor color.Color, x int, y int) (err error)
DrawOneLineText 操作-画文字(一行文字)
func (*ImageBaseType) DrawRoundImage ¶
func (o *ImageBaseType) DrawRoundImage(radius float64) (err error)
DrawRoundImage 操作-将sub裁剪为圆角
func (*ImageBaseType) DrawSubImage ¶
func (o *ImageBaseType) DrawSubImage(sub IImage, x, y int, debugColorInHex string) (err error)
DrawImage 操作-在当前对象的(x,y)位置,叠着画上sub
func (*ImageBaseType) GetImage ¶
func (o *ImageBaseType) GetImage() (srdImg *image.RGBA)
GetImage 获取-*image.RGBA格式的实例
func (*ImageBaseType) GetSubImagePosition ¶
func (o *ImageBaseType) GetSubImagePosition(subImageID string) (position [4]int, err error)
GetSubImagePosition 操作-获取子图的位置信息
func (*ImageBaseType) LoadFromBuffer ¶
func (o *ImageBaseType) LoadFromBuffer(imgBuffer *bytes.Buffer) (err error)
LoadFromBuffer 加载-从buffer中加载
func (*ImageBaseType) LoadFromFile ¶
func (o *ImageBaseType) LoadFromFile(imgFile string) (err error)
LoadFromFile 加载-从文件中加载
func (*ImageBaseType) LoadFromImageRGBA ¶
func (o *ImageBaseType) LoadFromImageRGBA(srcImg *image.RGBA) (err error)
LoadFromImageRGBA 加载-设置当前实例为实例对象
func (*ImageBaseType) LoadFromNew ¶
func (o *ImageBaseType) LoadFromNew(width, height int, fontColorInHex string) (err error)
LoadFromNew 加载-新建画板,fontColorInHex如果为空代表不需要底色
func (*ImageBaseType) LoadFromText ¶
func (o *ImageBaseType) LoadFromText(word string, maxWidth int, fontFile string, dpi, fontSize float64, fontColorInHex, bgColorInHex string) (err error)
LoadFromText 加载-根据需要的文字创建一个图像
func (*ImageBaseType) LoadFromURL ¶
func (o *ImageBaseType) LoadFromURL(imgURL string) (err error)
LoadFromURL 加载-从url中加载
func (*ImageBaseType) Resize ¶
func (o *ImageBaseType) Resize(newWidth, newHeight uint) (err error)
Resize 操作-重新设置大小
func (*ImageBaseType) SaveToBuffer ¶
func (o *ImageBaseType) SaveToBuffer() (imgBuffer *bytes.Buffer, err error)
SaveToBuffer 保存-图片为buffer
func (*ImageBaseType) SaveToJPEGFile ¶
func (o *ImageBaseType) SaveToJPEGFile(imgFile string) (err error)
SaveToJPEGFile 保存-图片为jpeg或者jpg格式
func (*ImageBaseType) SaveToPNGFile ¶
func (o *ImageBaseType) SaveToPNGFile(imgFile string) (err error)
SaveToPNGFile 保存-图片为png格式
func (*ImageBaseType) SaveToWEBPFile ¶
func (o *ImageBaseType) SaveToWEBPFile(imgFile string) (err error)
SaveToWEBPFile 保存-图片为webp格式
type ImageConfigInfoType ¶
type ImageConfigInfoType struct { ID string `json:"id"` // id Name string `json:"name"` // 名称 Desc string `json:"desc"` // 备注说明 Enable bool `json:"enable"` // 是否启用 Debug bool `json:"debug"` // 是否开启调试,如果开启了,则会给子图加入调式色块,以便于辨识面积和位置 PixelRatio string `json:"pixel_ratio"` // 设备像素比,一个浮点数 Width string `json:"width"` // 画布宽度,数字 Height string `json:"height"` // 画布高度,数字 CanvasBackgroundColor string `json:"canvas_background_color"` //画布背景颜色,(只支持#FFFFFF格式) OutputBufferType string `json:"output_buffer_type"` // 输出图片类型,png|jpeg|webp SubImageInfoList []SubImageConfigInfoType `json:"sub_image_info_list"` //子图列表 }
图像
type ImageJPGType ¶
type ImageJPGType struct {
ImageBaseType
}
func (*ImageJPGType) LoadFromBuffer ¶
func (o *ImageJPGType) LoadFromBuffer(imgBuffer *bytes.Buffer) (err error)
LoadFromBuffer 加载-从buffer中加载
func (*ImageJPGType) LoadFromFile ¶
func (o *ImageJPGType) LoadFromFile(imgFile string) (err error)
LoadFromFile 加载-从文件中加载
func (*ImageJPGType) LoadFromURL ¶
func (o *ImageJPGType) LoadFromURL(imgURL string) (err error)
LoadFromURL 加载-从url中加载
func (*ImageJPGType) SaveToBuffer ¶
func (o *ImageJPGType) SaveToBuffer() (imgBuffer *bytes.Buffer, err error)
SaveToBuffer 保存-图片为buffer
type ImageMgrType ¶
ImageMgrType 实例定义
var ( ImageMgrInstance *ImageMgrType ImageMgrOnce sync.Once )
实例
func (*ImageMgrType) GenByImageConfig ¶
func (mgr *ImageMgrType) GenByImageConfig(imageConfigInfo *ImageConfigInfoType) (imgBuffer *bytes.Buffer, err error)
GenPhoneImage 生成海报
func (*ImageMgrType) GetDebugColor ¶
func (mgr *ImageMgrType) GetDebugColor(subImageID string) (debugColor string)
grLoop 默认goroutine
type ImagePNGType ¶
type ImagePNGType struct {
ImageBaseType
}
func (*ImagePNGType) LoadFromBuffer ¶
func (o *ImagePNGType) LoadFromBuffer(imgBuffer *bytes.Buffer) (err error)
LoadFromBuffer 加载-从buffer中加载
func (*ImagePNGType) LoadFromFile ¶
func (o *ImagePNGType) LoadFromFile(imgFile string) (err error)
LoadFromFile 加载-从文件中加载
func (*ImagePNGType) LoadFromURL ¶
func (o *ImagePNGType) LoadFromURL(imgURL string) (err error)
LoadFromURL 加载-从url中加载
func (*ImagePNGType) SaveToBuffer ¶
func (o *ImagePNGType) SaveToBuffer() (imgBuffer *bytes.Buffer, err error)
SaveToBuffer 保存-图片为buffer
type ImageWEBPType ¶
type ImageWEBPType struct {
ImageBaseType
}
func (*ImageWEBPType) LoadFromBuffer ¶
func (o *ImageWEBPType) LoadFromBuffer(imgBuffer *bytes.Buffer) (err error)
LoadFromBuffer 加载-从buffer中加载
func (*ImageWEBPType) LoadFromFile ¶
func (o *ImageWEBPType) LoadFromFile(imgFile string) (err error)
LoadFromFile 加载-从文件中加载
func (*ImageWEBPType) LoadFromURL ¶
func (o *ImageWEBPType) LoadFromURL(imgURL string) (err error)
LoadFromURL 加载-从url中加载
func (*ImageWEBPType) SaveToBuffer ¶
func (o *ImageWEBPType) SaveToBuffer() (imgBuffer *bytes.Buffer, err error)
SaveToBuffer 保存-图片为buffer
type RoundMask ¶
type RoundMask struct {
// contains filtered or unexported fields
}
圆角效果
func (*RoundMask) ColorModel ¶
type SubImageConfigInfoType ¶
type SubImageConfigInfoType struct { ID string `json:"id"` // id Name string `json:"name"` // 名称 Desc string `json:"desc"` // 备注说明 Enable string `json:"enable"` // 是否启用,字符串类型,以方便做模板渲染,只能是true|false Other string `json:"other"` // 其他信息,不参与到作图中,只是预留给业务使用 ActionList []ImageActionType `json:"action_list"` // 动作说明 }
子图图像