mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Better builtin avatar generator (#17707)
This PR fixes the builtin avatar generator. 1. The random background color makes some images very dirty. So now we only use white background for avatars. 2. We use left-right mirror avatars to satisfy #14799 3. Fix a small padding error in the algorithm
This commit is contained in:
135
modules/avatar/identicon/colors.go
Normal file
135
modules/avatar/identicon/colors.go
Normal file
@@ -0,0 +1,135 @@
|
||||
// Copyright 2021 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package identicon
|
||||
|
||||
import "image/color"
|
||||
|
||||
// DarkColors are dark colors for avatar blocks, they come from image/color/palette.WebSafe, and light colors (0xff) are removed
|
||||
var DarkColors = []color.Color{
|
||||
color.RGBA{0x00, 0x00, 0x33, 0xff},
|
||||
color.RGBA{0x00, 0x00, 0x66, 0xff},
|
||||
color.RGBA{0x00, 0x00, 0x99, 0xff},
|
||||
color.RGBA{0x00, 0x00, 0xcc, 0xff},
|
||||
color.RGBA{0x00, 0x33, 0x00, 0xff},
|
||||
color.RGBA{0x00, 0x33, 0x33, 0xff},
|
||||
color.RGBA{0x00, 0x33, 0x66, 0xff},
|
||||
color.RGBA{0x00, 0x33, 0x99, 0xff},
|
||||
color.RGBA{0x00, 0x33, 0xcc, 0xff},
|
||||
color.RGBA{0x00, 0x66, 0x00, 0xff},
|
||||
color.RGBA{0x00, 0x66, 0x33, 0xff},
|
||||
color.RGBA{0x00, 0x66, 0x66, 0xff},
|
||||
color.RGBA{0x00, 0x66, 0x99, 0xff},
|
||||
color.RGBA{0x00, 0x66, 0xcc, 0xff},
|
||||
color.RGBA{0x00, 0x99, 0x00, 0xff},
|
||||
color.RGBA{0x00, 0x99, 0x33, 0xff},
|
||||
color.RGBA{0x00, 0x99, 0x66, 0xff},
|
||||
color.RGBA{0x00, 0x99, 0x99, 0xff},
|
||||
color.RGBA{0x00, 0x99, 0xcc, 0xff},
|
||||
color.RGBA{0x00, 0xcc, 0x00, 0xff},
|
||||
color.RGBA{0x00, 0xcc, 0x33, 0xff},
|
||||
color.RGBA{0x00, 0xcc, 0x66, 0xff},
|
||||
color.RGBA{0x00, 0xcc, 0x99, 0xff},
|
||||
color.RGBA{0x00, 0xcc, 0xcc, 0xff},
|
||||
color.RGBA{0x33, 0x00, 0x00, 0xff},
|
||||
color.RGBA{0x33, 0x00, 0x33, 0xff},
|
||||
color.RGBA{0x33, 0x00, 0x66, 0xff},
|
||||
color.RGBA{0x33, 0x00, 0x99, 0xff},
|
||||
color.RGBA{0x33, 0x00, 0xcc, 0xff},
|
||||
color.RGBA{0x33, 0x33, 0x00, 0xff},
|
||||
color.RGBA{0x33, 0x33, 0x33, 0xff},
|
||||
color.RGBA{0x33, 0x33, 0x66, 0xff},
|
||||
color.RGBA{0x33, 0x33, 0x99, 0xff},
|
||||
color.RGBA{0x33, 0x33, 0xcc, 0xff},
|
||||
color.RGBA{0x33, 0x66, 0x00, 0xff},
|
||||
color.RGBA{0x33, 0x66, 0x33, 0xff},
|
||||
color.RGBA{0x33, 0x66, 0x66, 0xff},
|
||||
color.RGBA{0x33, 0x66, 0x99, 0xff},
|
||||
color.RGBA{0x33, 0x66, 0xcc, 0xff},
|
||||
color.RGBA{0x33, 0x99, 0x00, 0xff},
|
||||
color.RGBA{0x33, 0x99, 0x33, 0xff},
|
||||
color.RGBA{0x33, 0x99, 0x66, 0xff},
|
||||
color.RGBA{0x33, 0x99, 0x99, 0xff},
|
||||
color.RGBA{0x33, 0x99, 0xcc, 0xff},
|
||||
color.RGBA{0x33, 0xcc, 0x00, 0xff},
|
||||
color.RGBA{0x33, 0xcc, 0x33, 0xff},
|
||||
color.RGBA{0x33, 0xcc, 0x66, 0xff},
|
||||
color.RGBA{0x33, 0xcc, 0x99, 0xff},
|
||||
color.RGBA{0x33, 0xcc, 0xcc, 0xff},
|
||||
color.RGBA{0x66, 0x00, 0x00, 0xff},
|
||||
color.RGBA{0x66, 0x00, 0x33, 0xff},
|
||||
color.RGBA{0x66, 0x00, 0x66, 0xff},
|
||||
color.RGBA{0x66, 0x00, 0x99, 0xff},
|
||||
color.RGBA{0x66, 0x00, 0xcc, 0xff},
|
||||
color.RGBA{0x66, 0x33, 0x00, 0xff},
|
||||
color.RGBA{0x66, 0x33, 0x33, 0xff},
|
||||
color.RGBA{0x66, 0x33, 0x66, 0xff},
|
||||
color.RGBA{0x66, 0x33, 0x99, 0xff},
|
||||
color.RGBA{0x66, 0x33, 0xcc, 0xff},
|
||||
color.RGBA{0x66, 0x66, 0x00, 0xff},
|
||||
color.RGBA{0x66, 0x66, 0x33, 0xff},
|
||||
color.RGBA{0x66, 0x66, 0x66, 0xff},
|
||||
color.RGBA{0x66, 0x66, 0x99, 0xff},
|
||||
color.RGBA{0x66, 0x66, 0xcc, 0xff},
|
||||
color.RGBA{0x66, 0x99, 0x00, 0xff},
|
||||
color.RGBA{0x66, 0x99, 0x33, 0xff},
|
||||
color.RGBA{0x66, 0x99, 0x66, 0xff},
|
||||
color.RGBA{0x66, 0x99, 0x99, 0xff},
|
||||
color.RGBA{0x66, 0x99, 0xcc, 0xff},
|
||||
color.RGBA{0x66, 0xcc, 0x00, 0xff},
|
||||
color.RGBA{0x66, 0xcc, 0x33, 0xff},
|
||||
color.RGBA{0x66, 0xcc, 0x66, 0xff},
|
||||
color.RGBA{0x66, 0xcc, 0x99, 0xff},
|
||||
color.RGBA{0x66, 0xcc, 0xcc, 0xff},
|
||||
color.RGBA{0x99, 0x00, 0x00, 0xff},
|
||||
color.RGBA{0x99, 0x00, 0x33, 0xff},
|
||||
color.RGBA{0x99, 0x00, 0x66, 0xff},
|
||||
color.RGBA{0x99, 0x00, 0x99, 0xff},
|
||||
color.RGBA{0x99, 0x00, 0xcc, 0xff},
|
||||
color.RGBA{0x99, 0x33, 0x00, 0xff},
|
||||
color.RGBA{0x99, 0x33, 0x33, 0xff},
|
||||
color.RGBA{0x99, 0x33, 0x66, 0xff},
|
||||
color.RGBA{0x99, 0x33, 0x99, 0xff},
|
||||
color.RGBA{0x99, 0x33, 0xcc, 0xff},
|
||||
color.RGBA{0x99, 0x66, 0x00, 0xff},
|
||||
color.RGBA{0x99, 0x66, 0x33, 0xff},
|
||||
color.RGBA{0x99, 0x66, 0x66, 0xff},
|
||||
color.RGBA{0x99, 0x66, 0x99, 0xff},
|
||||
color.RGBA{0x99, 0x66, 0xcc, 0xff},
|
||||
color.RGBA{0x99, 0x99, 0x00, 0xff},
|
||||
color.RGBA{0x99, 0x99, 0x33, 0xff},
|
||||
color.RGBA{0x99, 0x99, 0x66, 0xff},
|
||||
color.RGBA{0x99, 0x99, 0x99, 0xff},
|
||||
color.RGBA{0x99, 0x99, 0xcc, 0xff},
|
||||
color.RGBA{0x99, 0xcc, 0x00, 0xff},
|
||||
color.RGBA{0x99, 0xcc, 0x33, 0xff},
|
||||
color.RGBA{0x99, 0xcc, 0x66, 0xff},
|
||||
color.RGBA{0x99, 0xcc, 0x99, 0xff},
|
||||
color.RGBA{0x99, 0xcc, 0xcc, 0xff},
|
||||
color.RGBA{0xcc, 0x00, 0x00, 0xff},
|
||||
color.RGBA{0xcc, 0x00, 0x33, 0xff},
|
||||
color.RGBA{0xcc, 0x00, 0x66, 0xff},
|
||||
color.RGBA{0xcc, 0x00, 0x99, 0xff},
|
||||
color.RGBA{0xcc, 0x00, 0xcc, 0xff},
|
||||
color.RGBA{0xcc, 0x33, 0x00, 0xff},
|
||||
color.RGBA{0xcc, 0x33, 0x33, 0xff},
|
||||
color.RGBA{0xcc, 0x33, 0x66, 0xff},
|
||||
color.RGBA{0xcc, 0x33, 0x99, 0xff},
|
||||
color.RGBA{0xcc, 0x33, 0xcc, 0xff},
|
||||
color.RGBA{0xcc, 0x66, 0x00, 0xff},
|
||||
color.RGBA{0xcc, 0x66, 0x33, 0xff},
|
||||
color.RGBA{0xcc, 0x66, 0x66, 0xff},
|
||||
color.RGBA{0xcc, 0x66, 0x99, 0xff},
|
||||
color.RGBA{0xcc, 0x66, 0xcc, 0xff},
|
||||
color.RGBA{0xcc, 0x99, 0x00, 0xff},
|
||||
color.RGBA{0xcc, 0x99, 0x33, 0xff},
|
||||
color.RGBA{0xcc, 0x99, 0x66, 0xff},
|
||||
color.RGBA{0xcc, 0x99, 0x99, 0xff},
|
||||
color.RGBA{0xcc, 0x99, 0xcc, 0xff},
|
||||
color.RGBA{0xcc, 0xcc, 0x00, 0xff},
|
||||
color.RGBA{0xcc, 0xcc, 0x33, 0xff},
|
||||
color.RGBA{0xcc, 0xcc, 0x66, 0xff},
|
||||
color.RGBA{0xcc, 0xcc, 0x99, 0xff},
|
||||
color.RGBA{0xcc, 0xcc, 0xcc, 0xff},
|
||||
}
|
Reference in New Issue
Block a user