2
0
Эх сурвалжийг харах

ImageUtils: Create internal canvas only once

Mugen87 6 жил өмнө
parent
commit
4fe515808f

+ 9 - 4
src/extras/ImageUtils.js

@@ -4,6 +4,8 @@
  * @author szimek / https://github.com/szimek/
  * @author szimek / https://github.com/szimek/
  */
  */
 
 
+var _canvas;
+
 var ImageUtils = {
 var ImageUtils = {
 
 
 	getDataURL: function ( image ) {
 	getDataURL: function ( image ) {
@@ -20,11 +22,12 @@ var ImageUtils = {
 
 
 		} else {
 		} else {
 
 
-			canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );
-			canvas.width = image.width;
-			canvas.height = image.height;
+			if ( _canvas === undefined ) _canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );
+
+			_canvas.width = image.width;
+			_canvas.height = image.height;
 
 
-			var context = canvas.getContext( '2d' );
+			var context = _canvas.getContext( '2d' );
 
 
 			if ( image instanceof ImageData ) {
 			if ( image instanceof ImageData ) {
 
 
@@ -36,6 +39,8 @@ var ImageUtils = {
 
 
 			}
 			}
 
 
+			canvas = _canvas;
+
 		}
 		}
 
 
 		if ( canvas.width > 2048 || canvas.height > 2048 ) {
 		if ( canvas.width > 2048 || canvas.height > 2048 ) {