Generating colorful iPhone wallpaper backgrounds continued [circles]

<script>
	//scroll to bottom
	//shot 935 x 1475 (1870 x 2950)
	//sips --rotate -35 a.png --out b.png ; cp -fv b.png c.png
	//crop:768x1666 + blur:5 + noise:5 + vintage:5
	//cp -fv d.png e.png ; sips -z 2556 1179 e.png
	//save:1024x1920 + grain:55
	function zz(n) { return Math.min(Math.max(0, n), 255); }
	function rr(n, m) { return (Math.floor(Math.random() * ((m - n) + 1)) + n); }
	function bb(dd, ee, ff, gg, vv, ww, oo) {
		var hh = "";
		var uu = 175, xx = 55, yy = 35;
		while (((dd-xx) > uu) || ((ee-xx) > uu) || ((ff-xx) > uu)) { xx += 15; }
		if ((dd < 55) && (ee > 95)) { xx += 75; }
		hh += ("border:"+vv+"px solid rgba("+zz(dd-xx)+", "+zz(ee-xx)+", "+zz(ff-xx)+", "+(oo*0.99)+"); background:rgba("+zz(dd+yy)+", "+zz(ee+yy)+", "+zz(ff+yy)+", "+(oo*0.99)+");");
		return hh;
	}
	function aa() {
		var ll = [];
		var l = [
			[ 75,  55,  35, 0.15, 1.0, 0.0, "brown" ],
			[ 75,  55,  35, 0.75, 1.0, 0.0, "brown" ],
			[235, 115, 115, 0.55, 1.1, 0.0, "rose"  ],
			[195,  75,  75, 0.55, 1.0, 0.0, "berry" ],
			[215,  95,  15, 0.75, 1.1, 0.0, "peach" ],
			[235, 155,  55, 0.75, 1.0, 0.2, "gold"  ],
			[255, 195, 135, 0.95, 1.0, 0.0, "light" ],
			[ 35, 195, 235, 0.75, 1.0, 0.0, "mint"  ],
			[ 15, 155, 215, 0.75, 2.0, 0.0, "blue"  ],
			[ 15,  75, 135, 0.75, 1.0, 0.0, "dark"  ],
			[ 55,  35, 115, 0.55, 1.0, 0.0, "deep"  ],
			[ 95,  35, 115, 0.95, 1.0, 0.0, "purple"],
			[ 75,  55,  35, 0.05, 1.0, 0.0, "brown" ],
		];
		var p = [];
		var o = [0.99, 0.95, 0.91];
		var hh = 15;
		var vv = 3.99;
		var ww = 3.99;
		var v = ((15 - vv) - vv);
		var h = ((15 - ww) - ww);
		var n = 7;
		var t = 0;
		var u = "";
		var z = document.getElementById("a");
		for (var i = 0; i < l.length; ++i) {
			var k = (i + 1);
			var r = l[i][3];
			var s = parseInt(l[i][4]);
			var x = (((parseInt(l[i][4] * 10) % 10) + 1) - 1);
			var y = parseInt(l[i][5]);
			var w = (((parseInt(l[i][5] * 10) % 10) + 1) - 1);
			var m = (parseInt(n * r) + (x + y));
			u += (l[i][5]+" "+i+" "+n+" "+r+" "+s+" "+m+"\n");
			if (p.length > 0) {
				l[i][0] = p[0][0]; l[i][1] = p[0][1]; l[i][2] = p[0][2];
				p = [];
			}
			for (var j = 0; j < s; ++j) {
				var d = l[i][0], e = l[i][1], f = l[i][2], g = o[1];
				var uu = (i > 1) ? 1 : 0;
				var tt = "<div style='white-space:nowrap; height:"+hh+"px; background:rgba("+zz(d)+", "+zz(e)+", "+zz(f)+", "+g+");'>";
				for (var ii = 0; ii < uu; ++ii) {
					var dd = d, ee = e, ff = f, gg = g, oo = (o[0]*0.33);
					ll.push("<span style='display:inline-block; position:fixed; top:%ypx; left:%xpx; height:%hpx; width:%wpx; "+bb(dd, ee, ff, gg, vv, ww, oo)+" border-radius:999px;'></span>");
				}
				tt += "</div>";
				z.innerHTML += tt;
				if (i < (l.length - 1)) { t += hh; }
			}
			for (var j = 0; (j < 3) && (k < l.length); ++j) {
				var d = (((l[k][j] - l[i][j]) - 1) / (m + 1));
				l[i][j] = (l[i][j] - (d * w));
			}
			for (var j = 0; (j < m) && (k < l.length); ++j) {
				var a = (((l[k][0] - l[i][0]) - 1) / (m + 1 + w));
				var b = (((l[k][1] - l[i][1]) - 1) / (m + 1 + w));
				var c = (((l[k][2] - l[i][2]) - 1) / (m + 1 + w));
				var d = (l[i][0] + (a * (j + 1))), e = (l[i][1] + (b * (j + 1))), f = (l[i][2] + (c * (j + 1))), g = o[2];
				if (j >= (m - y)) { p.push([d, e, f, g]); continue; }
				if (j >= (m - w)) { p.unshift([d + a, e + b, f + c, g]); }
				var uu = 0;
				var tt = "<div style='white-space:nowrap; height:"+hh+"px; background:rgba("+zz(d)+", "+zz(e)+", "+zz(f)+", "+g+");'>";
				for (var ii = 0; ii < uu; ++ii) {
					var dd = d, ee = e, ff = f, gg = g, oo = (o[0]*0.33);
					ll.push("<span style='display:inline-block; position:fixed; top:%ypx; left:%xpx; height:%hpx; width:%wpx; "+bb(dd, ee, ff, gg, vv, ww, oo)+" border-radius:999px;'></span>");
				}
				tt += "</div>";
				z.innerHTML += tt;
				if (i < (l.length - 1)) { t += hh; }
			}
			ll.push("");
		}
		var lasx = 5, lasy = 5, mins = parseInt(35 / 1.99), maxs = parseInt(75 / 1.99);
		for (var ii = 0; ii < (ll.length - 2); ++ii) {
			for (var jj = 0; jj < 2; ++jj) {
				if (ll[ii] == "") { continue; }
				var maxx = window.innerWidth;
				var maxy = window.innerHeight;
				while (lasx < (maxx - maxs)) {
					var size = rr(mins, maxs);
					var posx = rr(lasx, lasx + (maxs / 1.99));
					var posy = rr(lasy, lasy + (maxs / 1.99));
					document.body.innerHTML += ll[ii].replace(/%x/ig, ""+posx).replace(/%y/ig, ""+posy).replace(/%[wh]/ig, ""+size);
					lasx += size;
				}
				lasx = 15; lasy += (maxs + 5);
			}
		}
		alert(n+"\n"+t+"\n"+u);
	}
</script>
<body onload="aa();">
	<div id="a"></div>
</body>

[Colors]

[Grain]

[Source]

~

Leave a Reply