Unify colour algorithm output
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
eea6f74ca4
commit
ed4309ce41
|
@ -62,13 +62,16 @@
|
|||
(function ($) {
|
||||
|
||||
String.prototype.toRgb = function() {
|
||||
var hash = this.toLowerCase().replace(/[^0-9a-f]+/g, '');
|
||||
// Normalize hash
|
||||
var hash = this.toLowerCase();
|
||||
|
||||
// Already a md5 hash?
|
||||
if( !hash.match(/^[0-9a-f]{32}$/g) ) {
|
||||
if( hash.match(/^([0-9a-f]{4}-?){8}$/) === null ) {
|
||||
hash = md5(hash);
|
||||
}
|
||||
|
||||
hash = hash.replace(/[^0-9a-f]/g, '');
|
||||
|
||||
function Color(r,g,b) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
|
@ -116,7 +119,7 @@
|
|||
var result = Array();
|
||||
|
||||
// Splitting evenly the string
|
||||
for (var i in hash) {
|
||||
for (var i=0; i<hash.length; i++) {
|
||||
// chars in md5 goes up to f, hex:16
|
||||
result.push(parseInt(hash.charAt(i), 16) % 16);
|
||||
}
|
||||
|
|
|
@ -408,14 +408,20 @@ class Avatar implements IAvatar {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $text
|
||||
* @param string $hash
|
||||
* @return Color Object containting r g b int in the range [0, 255]
|
||||
*/
|
||||
public function avatarBackgroundColor(string $text) {
|
||||
$hash = preg_replace('/[^0-9a-f]+/', '', $text);
|
||||
public function avatarBackgroundColor(string $hash) {
|
||||
// Normalize hash
|
||||
$hash = strtolower($hash);
|
||||
|
||||
// Already a md5 hash?
|
||||
if( preg_match('/^([0-9a-f]{4}-?){8}$/', $hash, $matches) !== 1 ) {
|
||||
$hash = md5($hash);
|
||||
}
|
||||
|
||||
$hash = md5($hash);
|
||||
$hashChars = str_split($hash);
|
||||
// Remove unwanted char
|
||||
$hash = preg_replace('/[^0-9a-f]+/', '', $hash);
|
||||
|
||||
$red = new Color(182, 70, 157);
|
||||
$yellow = new Color(221, 203, 85);
|
||||
|
|
Loading…
Reference in New Issue