Преглед на файлове

Corrected issue that causes scaling error on Safari on complex canvas objects (#31931)

Co-authored-by: Adam Roberts <adambant@yahoo.com>
Adam Roberts преди 3 месеца
родител
ревизия
dd4a1378a0
променени са 1 файла, в които са добавени 6 реда и са изтрити 10 реда
  1. 6 10
      examples/jsm/interactive/HTMLMesh.js

+ 6 - 10
examples/jsm/interactive/HTMLMesh.js

@@ -295,17 +295,12 @@ function html2canvas( element ) {
 		} else if ( element instanceof HTMLCanvasElement ) {
 
 			// Canvas element
-
 			const rect = element.getBoundingClientRect();
-
 			x = rect.left - offset.left - 0.5;
 			y = rect.top - offset.top - 0.5;
-
-		        context.save();
-			const dpr = window.devicePixelRatio;
-			context.scale( 1 / dpr, 1 / dpr );
-			context.drawImage( element, x, y );
-			context.restore();
+			const width = rect.width;
+			const height = rect.height;
+			context.drawImage( element, x, y, width, height );
 
 		} else if ( element instanceof HTMLImageElement ) {
 
@@ -521,12 +516,13 @@ function html2canvas( element ) {
 	if ( canvas === undefined ) {
 
 		canvas = document.createElement( 'canvas' );
-		canvas.width = offset.width;
-		canvas.height = offset.height;
 		canvases.set( element, canvas );
 
 	}
 
+	canvas.width = offset.width;
+	canvas.height = offset.height;
+
 	const context = canvas.getContext( '2d'/*, { alpha: false }*/ );
 
 	const clipper = new Clipper( context );

粤ICP备19079148号