MCPcopy Create free account
hub / github.com/openscopeproject/InteractiveHtmlBom / saveImage

Function saveImage

InteractiveHtmlBom/web/util.js:304–347  ·  view source on GitHub ↗
(layer)

Source from the content-addressed store, hash-verified

302}
303
304function saveImage(layer) {
305 var width = validateSaveImgDimension(document.getElementById("render-save-width"));
306 var height = validateSaveImgDimension(document.getElementById("render-save-height"));
307 var bgcolor = null;
308 if (!document.getElementById("render-save-transparent").checked) {
309 var style = getComputedStyle(topmostdiv);
310 bgcolor = style.getPropertyValue("background-color");
311 }
312 if (!width || !height) return;
313
314 // Prepare image
315 var canvas = document.createElement("canvas");
316 var layerdict = {
317 transform: {
318 x: 0,
319 y: 0,
320 s: 1,
321 panx: 0,
322 pany: 0,
323 zoom: 1,
324 },
325 bg: canvas,
326 fab: canvas,
327 silk: canvas,
328 highlight: canvas,
329 layer: layer,
330 }
331 // Do the rendering
332 recalcLayerScale(layerdict, width, height);
333 prepareLayer(layerdict);
334 clearCanvas(canvas, bgcolor);
335 drawBackground(layerdict, false);
336 drawHighlightsOnLayer(layerdict, false);
337
338 // Save image
339 var imgdata = canvas.toDataURL("image/png");
340
341 var filename = pcbdata.metadata.title;
342 if (pcbdata.metadata.revision) {
343 filename += `.${pcbdata.metadata.revision}`;
344 }
345 filename += `.${layer}.png`;
346 saveFile(filename, dataURLtoBlob(imgdata));
347}
348
349function saveSettings() {
350 var data = {

Callers

nothing calls this directly

Calls 8

validateSaveImgDimensionFunction · 0.85
recalcLayerScaleFunction · 0.85
prepareLayerFunction · 0.85
clearCanvasFunction · 0.85
drawBackgroundFunction · 0.85
drawHighlightsOnLayerFunction · 0.85
saveFileFunction · 0.85
dataURLtoBlobFunction · 0.85

Tested by

no test coverage detected