我正在构建一个 firefox 插件,它允许用户在对象上绘制任意图形并将其保存为图像(png 文件)。
var $ = getJQueryOb();
var canvas = '<canvas id="canvas" width="1024" height="1024" style="position:absolute; top:0px; left:0px;"></canvas>';
var currentWindow = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser");
var mainDoc = currentWindow.getBrowser().contentDocument;
var cObj = $(canvas).appendTo(mainDoc.body);
$(cObj).bind('mousemove', handlePenDraw);
使用它我可以在画布上绘图。但是,当我保存图像时,我不希望保存整个画布 - 而只是创建要保存的图像周围的“边界矩形”。
有什么办法可以实现这一点。我目前正在做的是将画布按原样保存:
var $ = getJQueryOb();
var canvas = $('#canvas')[0];
var dURL = canvas.toDataURL("image/png");
saveToFile(dURL, "image-file.png");