Skip to content

Commit

Permalink
⚡ ct.capture: add portion method (by Tho_mas), fix object method
Browse files Browse the repository at this point in the history
  • Loading branch information
CosmoMyzrailGorynych committed Nov 7, 2022
1 parent f9ed856 commit f3851c5
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions app/data/ct.libs/capture/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@
const downloadTexture = function (canvas, name) {
if (name) {
name = name.toString();
if (name.lastIndexOf('.png') !== name.screenshots.length - 4) {
if (!name.endsWith('.png')) {
name += '.png';
}
}
const a = document.createElement('a');
a.setAttribute('href', canvas.toDataURL('image/png'));
screenshots++;
a.setAttribute('download', name || `${ct.meta.name || 'Screenshot'}_${screenshots}.png`);
a.setAttribute(
'download',
name || `${ct.meta.name || 'Screenshot'}_${screenshots}.png`
);
a.style.display = 'none';
document.body.appendChild(a);
a.click();
Expand All @@ -23,12 +26,28 @@
height: ct.pixiApp.renderer.height
});
ct.pixiApp.renderer.render(ct.pixiApp.stage, renderTexture);
var canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
const canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
downloadTexture(canvas, name);
},
portion(x, y, width, height, name) {
const rec = new PIXI.Rectangle(x, y, width, height);
const renderTexture = PIXI.RenderTexture.create({
width: ct.pixiApp.renderer.width,
height: ct.pixiApp.renderer.height
});
ct.pixiApp.renderer.render(ct.pixiApp.stage, renderTexture);
renderTexture.frame = rec;
const canvas = ct.pixiApp.renderer.extract.canvas(renderTexture);
downloadTexture(canvas, name);
},
object(obj, name) {
var canvas = PIXI.Extract.canvas(obj);
const prevX = obj.x,
prevY = obj.y;
obj.x = obj.y = 0;
const canvas = ct.pixiApp.renderer.extract.canvas(obj, obj.getBounds());
downloadTexture(canvas, name);
obj.x = prevX;
obj.y = prevY;
}
};
})();

0 comments on commit f3851c5

Please sign in to comment.