Remove node-canvas example.
This commit is contained in:
Родитель
211ae9fd39
Коммит
301abe6f99
|
@ -1,70 +0,0 @@
|
||||||
require("../../test/env");
|
|
||||||
|
|
||||||
var fs = require("fs"),
|
|
||||||
util = require("util"),
|
|
||||||
Canvas = require("canvas");
|
|
||||||
|
|
||||||
var w = 1920,
|
|
||||||
h = 1080;
|
|
||||||
|
|
||||||
var projection = d3.geo.albersUsa()
|
|
||||||
.scale(2000)
|
|
||||||
.translate([w / 2, h / 2]);
|
|
||||||
|
|
||||||
var path = d3.geo.path()
|
|
||||||
.projection(projection);
|
|
||||||
|
|
||||||
var canvas = new Canvas(w, h),
|
|
||||||
context = canvas.getContext("2d");
|
|
||||||
|
|
||||||
context.antialias = "none";
|
|
||||||
context.lineWidth = 8;
|
|
||||||
context.lineJoin = "round";
|
|
||||||
|
|
||||||
d3.json(__dirname + "/../data/us-counties.json", function(error, collection) {
|
|
||||||
renderAll("stroke");
|
|
||||||
renderAll("fill");
|
|
||||||
|
|
||||||
var out = fs.createWriteStream("us-counties.png");
|
|
||||||
canvas.createPNGStream().on("data", function(chunk) { out.write(chunk); });
|
|
||||||
|
|
||||||
function renderAll(action) {
|
|
||||||
collection.features.forEach(function(feature) {
|
|
||||||
var re = /[MLZ]/g,
|
|
||||||
d = path(feature),
|
|
||||||
i = 0,
|
|
||||||
m;
|
|
||||||
|
|
||||||
context[action + "Style"] = "#" + pad((+feature.id).toString(16));
|
|
||||||
context.beginPath();
|
|
||||||
re.lastIndex = 1;
|
|
||||||
while (m = re.exec(d)) render(m.index);
|
|
||||||
render();
|
|
||||||
context[action]();
|
|
||||||
|
|
||||||
function render(j) {
|
|
||||||
switch (d.charAt(i)) {
|
|
||||||
case "M": {
|
|
||||||
var p = d.substring(i + 1, j).split(",").map(Number);
|
|
||||||
context.moveTo(p[0], p[1]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "L": {
|
|
||||||
var p = d.substring(i + 1, j).split(",").map(Number);
|
|
||||||
context.lineTo(p[0], p[1]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Z": {
|
|
||||||
context.closePath();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i = j;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function pad(s) {
|
|
||||||
return s.length < 6 ? new Array(7 - s.length).join("0") + s : s;
|
|
||||||
}
|
|
Загрузка…
Ссылка в новой задаче