]> source.dussan.org Git - nextcloud-server.git/commitdiff
[Avatars] Calculate 'sane' hue precissions
authorRoeland Jago Douma <rullzer@owncloud.com>
Tue, 22 Dec 2015 10:07:33 +0000 (11:07 +0100)
committerRoeland Jago Douma <rullzer@owncloud.com>
Thu, 24 Dec 2015 09:50:12 +0000 (10:50 +0100)
We used to get the numeric value of the entrire md5 string which is a
128bit integer. We would then devide this by the maxval of a 128bit int.

There is no need for such huge computations. As we just require a value
between 0 and 255. Thus using two 16 bit values is more than enough to
get the precision we need. By just taking the MSB we get nearly
identical results.

core/js/placeholder.js

index 26eb3507d7b21659ca5f5db0d3bba8708526773c..5fb5b5b8f805c5f2b8c55b87badea72256ff751c 100644 (file)
@@ -51,8 +51,8 @@
                // set optional argument "text" to value of "seed" if undefined
                text = text || seed;
 
-               var hash = md5(seed),
-                       maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16),
+               var hash = md5(seed).substring(0, 4),
+                       maxRange = parseInt('ffff', 16),
                        hue = parseInt(hash, 16) / maxRange * 256,
                        height = this.height() || size || 32;
                this.css('background-color', 'hsl(' + hue + ', 90%, 65%)');