浏览代码

GLTFExporter: Better error handling when using invalid image data. (#27700)

Michael Herzog 1 年之前
父节点
当前提交
76bff1eb95
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      examples/jsm/exporters/GLTFExporter.js

+ 11 - 1
examples/jsm/exporters/GLTFExporter.js

@@ -1288,7 +1288,17 @@ class GLTFWriter {
 
 
 			} else {
 			} else {
 
 
-				ctx.drawImage( image, 0, 0, canvas.width, canvas.height );
+				if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||
+					( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||
+					( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {
+
+					ctx.drawImage( image, 0, 0, canvas.width, canvas.height );
+
+				} else {
+
+					throw new Error( 'THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement or ImageBitmap.' );
+
+				}
 
 
 			}
 			}