@pixi/canvas-extract
Advanced tools
Comparing version 7.0.0-alpha.3 to 7.0.0-beta
/*! | ||
* @pixi/canvas-extract - v7.0.0-alpha.3 | ||
* Compiled Fri, 23 Sep 2022 14:33:14 UTC | ||
* @pixi/canvas-extract - v7.0.0-beta | ||
* Compiled Tue, 11 Oct 2022 19:54:08 UTC | ||
* | ||
@@ -19,9 +19,21 @@ * @pixi/canvas-extract is licensed under the MIT License. | ||
} | ||
image(target, format, quality) { | ||
async image(target, format, quality) { | ||
const image = new Image(); | ||
image.src = this.base64(target, format, quality); | ||
image.src = await this.base64(target, format, quality); | ||
return image; | ||
} | ||
base64(target, format, quality) { | ||
return this.canvas(target).toDataURL(format, quality); | ||
async base64(target, format, quality) { | ||
const canvas = this.canvas(target); | ||
if (canvas.toDataURL !== void 0) { | ||
return canvas.toDataURL(format, quality); | ||
} | ||
if (canvas.convertToBlob !== void 0) { | ||
const blob = await canvas.convertToBlob({ type: format, quality }); | ||
return await new Promise((resolve) => { | ||
const reader = new FileReader(); | ||
reader.onload = () => resolve(reader.result); | ||
reader.readAsDataURL(blob); | ||
}); | ||
} | ||
throw new Error("CanvasExtract.base64() requires ICanvas.toDataURL or ICanvas.convertToBlob to be implemented"); | ||
} | ||
@@ -28,0 +40,0 @@ canvas(target, frame) { |
"use strict";/*! | ||
* @pixi/canvas-extract - v7.0.0-alpha.3 | ||
* Compiled Fri, 23 Sep 2022 14:33:14 UTC | ||
* @pixi/canvas-extract - v7.0.0-beta | ||
* Compiled Tue, 11 Oct 2022 19:54:08 UTC | ||
* | ||
* @pixi/canvas-extract is licensed under the MIT License. | ||
* http://www.opensource.org/licenses/mit-license | ||
*/Object.defineProperty(exports,"__esModule",{value:!0});var o=require("@pixi/core");const g=new o.Rectangle;class h{constructor(t){this.renderer=t}image(t,e,a){const s=new Image;return s.src=this.base64(t,e,a),s}base64(t,e,a){return this.canvas(t).toDataURL(e,a)}canvas(t,e){const a=this.renderer;let s,r,n;t&&(t instanceof o.RenderTexture?n=t:n=a.generateTexture(t)),n?(s=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,e=e??n.frame):(s=a.canvasContext.rootContext,r=a._view.resolution,e||(e=g,e.width=a.width,e.height=a.height));const d=Math.round(e.x*r),u=Math.round(e.y*r),i=Math.round(e.width*r),c=Math.round(e.height*r),x=new o.utils.CanvasRenderTarget(i,c,1),v=s.getImageData(d,u,i,c);return x.context.putImageData(v,0,0),x.canvas}pixels(t,e){const a=this.renderer;let s,r,n;t&&(t instanceof o.RenderTexture?n=t:n=a.generateTexture(t)),n?(s=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,e=e??n.frame):(s=a.canvasContext.rootContext,r=a.resolution,e||(e=g,e.width=a.width,e.height=a.height));const d=Math.round(e.x*r),u=Math.round(e.y*r),i=Math.round(e.width*r),c=Math.round(e.height*r);return s.getImageData(d,u,i,c).data}destroy(){this.renderer=null}}h.extension={name:"extract",type:o.ExtensionType.CanvasRendererSystem},o.extensions.add(h),exports.CanvasExtract=h; | ||
*/Object.defineProperty(exports,"__esModule",{value:!0});var i=require("@pixi/core");const v=new i.Rectangle;class h{constructor(a){this.renderer=a}async image(a,e,t){const r=new Image;return r.src=await this.base64(a,e,t),r}async base64(a,e,t){const r=this.canvas(a);if(r.toDataURL!==void 0)return r.toDataURL(e,t);if(r.convertToBlob!==void 0){const n=await r.convertToBlob({type:e,quality:t});return await new Promise(o=>{const s=new FileReader;s.onload=()=>o(s.result),s.readAsDataURL(n)})}throw new Error("CanvasExtract.base64() requires ICanvas.toDataURL or ICanvas.convertToBlob to be implemented")}canvas(a,e){const t=this.renderer;let r,n,o;a&&(a instanceof i.RenderTexture?o=a:o=t.generateTexture(a)),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,e=e??o.frame):(r=t.canvasContext.rootContext,n=t._view.resolution,e||(e=v,e.width=t.width,e.height=t.height));const s=Math.round(e.x*n),u=Math.round(e.y*n),c=Math.round(e.width*n),d=Math.round(e.height*n),x=new i.utils.CanvasRenderTarget(c,d,1),l=r.getImageData(s,u,c,d);return x.context.putImageData(l,0,0),x.canvas}pixels(a,e){const t=this.renderer;let r,n,o;a&&(a instanceof i.RenderTexture?o=a:o=t.generateTexture(a)),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,e=e??o.frame):(r=t.canvasContext.rootContext,n=t.resolution,e||(e=v,e.width=t.width,e.height=t.height));const s=Math.round(e.x*n),u=Math.round(e.y*n),c=Math.round(e.width*n),d=Math.round(e.height*n);return r.getImageData(s,u,c,d).data}destroy(){this.renderer=null}}h.extension={name:"extract",type:i.ExtensionType.CanvasRendererSystem},i.extensions.add(h),exports.CanvasExtract=h; | ||
//# sourceMappingURL=canvas-extract.min.js.map |
@@ -6,2 +6,3 @@ /// <reference path="./global.d.ts" /> | ||
import type { ExtensionMetadata } from '@pixi/core'; | ||
import type { ICanvas } from '@pixi/settings'; | ||
import type { ISystem } from '@pixi/core'; | ||
@@ -35,3 +36,3 @@ import { Rectangle } from '@pixi/core'; | ||
*/ | ||
image(target?: DisplayObject | RenderTexture, format?: string, quality?: number): HTMLImageElement; | ||
image(target?: DisplayObject | RenderTexture, format?: string, quality?: number): Promise<HTMLImageElement>; | ||
/** | ||
@@ -46,3 +47,3 @@ * Will return a base64 encoded string of this target. It works by calling | ||
*/ | ||
base64(target?: DisplayObject | RenderTexture, format?: string, quality?: number): string; | ||
base64(target?: DisplayObject | RenderTexture, format?: string, quality?: number): Promise<string>; | ||
/** | ||
@@ -55,3 +56,3 @@ * Creates a Canvas element, renders this target to it and then returns it. | ||
*/ | ||
canvas(target?: DisplayObject | RenderTexture, frame?: Rectangle): HTMLCanvasElement; | ||
canvas(target?: DisplayObject | RenderTexture, frame?: Rectangle): ICanvas; | ||
/** | ||
@@ -58,0 +59,0 @@ * Will return a one-dimensional array containing the pixel data of the entire texture in RGBA |
{ | ||
"name": "@pixi/canvas-extract", | ||
"version": "7.0.0-alpha.3", | ||
"version": "7.0.0-beta", | ||
"main": "dist/cjs/canvas-extract.js", | ||
@@ -43,3 +43,3 @@ "module": "dist/esm/canvas-extract.mjs", | ||
], | ||
"gitHead": "e5cc328a2374fac1cb21915e8029d8a9bddb038c" | ||
"gitHead": "437c2f5432320da7d6ecef6986ab95c982c89b17" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
58991
319