Monday, April 10th, 2017
While building the front page for this site, I found myself stuck on the title graphic.
I had the following requirements:
Initially, I looked at trianglify – but I was already using that for the site backdrop. After some further searching, I settled on geopattern. There is a demo page here.
Usage is simple – just include the script and either use the GeoPattern global, or the jQuery plugin.
// Use the global...
var pattern = GeoPattern.generate('GitHub');
$('#geopattern').css('background-image', pattern.toDataUrl());
// ...or the plugin
$('#geopattern').geopattern('GitHub');
There are options for the pattern seed, color, basecolor, and pattern generator:
//Generate yellow octagons
GeoPattern.generate("seed string",{color: '#997700',baseColor:'#997722', generator: "ocatagons"});
//Generate green chevrons
GeoPattern.generate("seed string2",{color: '#22FF44',baseColor:'#000000', generator: "chevrons"});
Applying the resulting image to an object in your DOM is simple with jQuery:
$('#objectid').css('background-image', pattern.toDataUrl());
This was one of the simplest pieces I’ve worked with yet – it’s really just plug and play. As long as you don’t MUNG the script somehow, you’re good. I didn’t bother with using npm or bower to include it – I just dropped it in my page and started working.
This canvas is patterned with a random seed. Refresh to see a new pattern.