diff options
Diffstat (limited to 'src/util/ImageHelper.ts')
-rw-r--r-- | src/util/ImageHelper.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/util/ImageHelper.ts b/src/util/ImageHelper.ts index 12249914..e428149c 100644 --- a/src/util/ImageHelper.ts +++ b/src/util/ImageHelper.ts @@ -42,4 +42,28 @@ export default class ImageHelper { img.src = data; }); } + + public static convertToPNG(data: string): Promise<string> { + const canvas = <HTMLCanvasElement>$('<canvas>').get(0); + const img = new Image(); + + return new Promise((resolve, reject) => { + img.onload = () => { + canvas.width = img.width; + canvas.height = img.height; + + const ctx = canvas.getContext('2d'); + + ctx.drawImage(img, 0, 0, img.width, img.width, 0, 0, img.width, img.width); + + resolve(canvas.toDataURL()); + }; + + img.onerror = () => { + reject(new Error('Could not load image')); + }; + + img.src = data; + }); + } } |