canvas/style.go

51 lines
1.1 KiB
Go

package canvas
import (
"image/color"
"math"
)
// SetFillStyle 设置填充样式
func (c *Context) SetFillStyle(style interface{}) {
switch s := style.(type) {
case color.Color, Gradient:
c.state.fillStyle = s
}
}
// SetStrokeStyle 设置描边样式
func (c *Context) SetStrokeStyle(style interface{}) {
switch s := style.(type) {
case color.Color, Gradient:
c.state.strokeStyle = s
}
}
// SetFillColor 设置填充颜色
func (c *Context) SetFillColor(color color.Color) {
c.state.fillStyle = color
}
// SetStrokeColor 设置描边颜色
func (c *Context) SetStrokeColor(color color.Color) {
c.state.strokeStyle = color
}
// SetLineWidth 设置线宽
func (c *Context) SetLineWidth(width float64) {
c.state.lineWidth = width
}
// SetGlobalAlpha 设置全局透明度
func (c *Context) SetGlobalAlpha(alpha float64) {
c.state.globalAlpha = math.Max(0, math.Min(1, alpha))
}
// SetShadow 设置阴影
func (c *Context) SetShadow(offsetX, offsetY, blur float64, color color.Color) {
c.state.shadowOffsetX = offsetX
c.state.shadowOffsetY = offsetY
c.state.shadowBlur = blur
c.state.shadowColor = color
}