Я создаю плагин 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");