Update github.com/issue9/identicon from untagged to v1.0.1 (#11359)

Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
6543 2020-05-10 12:23:17 +02:00 committed by GitHub
parent dbb74978f7
commit 57b6f83191
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 67 additions and 51 deletions

View file

@ -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