Update github.com/issue9/identicon from untagged to v1.0.1 (#11359)
Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
parent
dbb74978f7
commit
57b6f83191
12 changed files with 67 additions and 51 deletions
25
vendor/github.com/issue9/identicon/identicon.go
generated
vendored
25
vendor/github.com/issue9/identicon/identicon.go
generated
vendored
|
@ -25,11 +25,10 @@ type Identicon struct {
|
|||
rect image.Rectangle
|
||||
}
|
||||
|
||||
// 声明一个Identicon实例。
|
||||
// size表示整个头像的大小。
|
||||
// back表示前景色。
|
||||
// fore表示所有可能的前景色,会为每个图像随机挑选一个作为其前景色。
|
||||
// NOTE:前景色不要与背景色太相近。
|
||||
// New 声明一个 Identicon 实例。
|
||||
// size 表示整个头像的大小;
|
||||
// back 表示前景色;
|
||||
// fore 表示所有可能的前景色,会为每个图像随机挑选一个作为其前景色。
|
||||
func New(size int, back color.Color, fore ...color.Color) (*Identicon, error) {
|
||||
if len(fore) == 0 || len(fore) > maxForeColors {
|
||||
return nil, fmt.Errorf("前景色数量必须介于[1]~[%v]之间,当前为[%v]", maxForeColors, len(fore))
|
||||
|
@ -49,7 +48,7 @@ func New(size int, back color.Color, fore ...color.Color) (*Identicon, error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
// 根据data数据产生一张唯一性的头像图片。
|
||||
// Make 根据 data 数据产生一张唯一性的头像图片。
|
||||
func (i *Identicon) Make(data []byte) image.Image {
|
||||
h := md5.New()
|
||||
h.Write(data)
|
||||
|
@ -78,7 +77,7 @@ func (i *Identicon) Make(data []byte) image.Image {
|
|||
return p
|
||||
}
|
||||
|
||||
// 根据data数据产生一张唯一性的头像图片。
|
||||
// Make 根据 data 数据产生一张唯一性的头像图片。
|
||||
// size 头像的大小。
|
||||
// back, fore头像的背景和前景色。
|
||||
func Make(size int, back, fore color.Color, data []byte) (image.Image, error) {
|
||||
|
@ -112,16 +111,16 @@ func Make(size int, back, fore color.Color, data []byte) (image.Image, error) {
|
|||
}
|
||||
|
||||
// 将九个方格都填上内容。
|
||||
// p为画板。
|
||||
// c为中间方格的填充函数。
|
||||
// b1,b2为边上8格的填充函数。
|
||||
// angle为b1,b2的起始旋转角度。
|
||||
// p 为画板;
|
||||
// c 为中间方格的填充函数;
|
||||
// b1、b2 为边上 8 格的填充函数;
|
||||
// angle 为 b1、b2 的起始旋转角度。
|
||||
func drawBlocks(p *image.Paletted, size int, c, b1, b2 blockFunc, angle int) {
|
||||
// 每个格子的长宽。先转换成float,再计算!
|
||||
// 每个格子的长宽。先转换成 float,再计算!
|
||||
blockSize := float64(size) / 3
|
||||
twoBlockSize := 2 * blockSize
|
||||
|
||||
incr := func() { // 增加angle的值,但不会大于3
|
||||
incr := func() { // 增加 angle 的值,但不会大于 3
|
||||
angle++
|
||||
if angle > 3 {
|
||||
angle = 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue