Renders an indenticon and return a Buffer containing a PNG data stream.
jdenticon.toPng(hash|value, size[, config])
Availability | Browser | Node.js |
---|---|---|
jdenticon.toPng() | No | Yes |
The following example shows how to use toPng
to generate an identicon and save it to a file using Node.js.
Sample code
var jdenticon = require("jdenticon"); const fs = require("fs"); const png = jdenticon.toPng("icon value", 200); fs.writeFileSync("./testicon.png", png);
hash|value
is considered a hash string if the string is hexadecimal and contains at least 11 characters. It is otherwise considered a value that will be hashed using SHA1.
size
defines the width and height, icons are always square, of the icon in pixels, including its padding.
config
(from v2.2.0) specifies an optional configuration object. If no configuration is specified, the global configuration is used. For backward compability this parameter can also be a padding value in the range 0.0 to 0.5.
The following priority order is used to resolve the icon configuration when the icon is drawn:
config
parameter to toPng()
jdenticon.configure()
.jdenticon_config
global variable.To generate PNG icons Jdenticon uses an internal PNG renderer. The renderer depends on several Node.js components that are not available in browsers. The most critical component that is only available on Node.js is a DEFLATE compressor.
There are polyfills available for browser support, but it's hard to justify adding the extra payload required for those polyfills when it is possible, and probably also faster, to just use the <canvas>
or <svg>
based renderers. The browser support for <canvas>
and <svg>
is also very good these days.