@@ -116,24 +116,26 @@ export async function initExportButton() {
116116 trackExportButtonClick ( ) ;
117117 try {
118118 const exportContainer = document . querySelector ( '.canvas-container' ) ;
119- if ( ! exportContainer ) return ;
119+ const captureTarget = document . querySelector ( '.canvas' ) ;
120+ if ( ! exportContainer || ! captureTarget ) return ;
120121 await loadHtml2Canvas ( ) ;
121122 exportBtn . disabled = true ;
122123 exportBtn . setAttribute ( 'aria-label' , 'Exporting diagram' ) ;
123124 exportContainer . classList . add ( 'is-exporting' ) ;
125+ const scale = Math . max ( window . devicePixelRatio || 1 , 2 ) ;
124126 const options = {
125127 backgroundColor : '#FFFFFF' ,
126- scale : Math . max ( window . devicePixelRatio || 1 , 2 ) ,
128+ scale,
127129 scrollX : 0 ,
128130 scrollY : 0 ,
129131 useCORS : true ,
130- width : exportContainer . scrollWidth ,
131- height : exportContainer . scrollHeight ,
132- windowWidth : exportContainer . scrollWidth ,
133- windowHeight : exportContainer . scrollHeight
132+ width : captureTarget . scrollWidth ,
133+ height : captureTarget . scrollHeight ,
134+ windowWidth : captureTarget . scrollWidth ,
135+ windowHeight : captureTarget . scrollHeight
134136 } ;
135137
136- const canvas = await window . html2canvas ( exportContainer , options ) ;
138+ const canvas = await window . html2canvas ( captureTarget , options ) ;
137139 const blob = await new Promise ( resolve => canvas . toBlob ( resolve , 'image/png' ) ) ;
138140 if ( ! blob ) return ;
139141 const clipboardItem = new ClipboardItem ( { 'image/png' : blob } ) ;
0 commit comments