34 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | import html2canvas from '@/components/dyw-html2image/html2canvas.min.js' | |||
|  | import canvas2Image from '@/components/dyw-html2image/canvas2image.js' // canvas源码不支持import导入,在源码的最后添加export default使得可以将canvas2image对象import进来
 | |||
|  | 
 | |||
|  | /** | |||
|  |  * html2image: 将canvas2iamge以及html2canvas结合,将html转化为image. 方便大家使用,也可以自己去下载这两个插件,单独使用。 | |||
|  |  * @param {Object} element : html元素,如document.body, document.getElementById('elementId') | |||
|  |  * @param {Object} html2canvasObject : html2canvas所需要的参数, 具体参数可访问html2canvas网站: http://html2canvas.hertzen.com/configuration
 | |||
|  |  * @param {String} saveType :'download'和'src'两种类型,第一种直接下载(微信中不可直接下载,被拦截)第二种返回src,可放入image标签中使用    canvas转image:  git地址: https://github.com/hongru/canvas2image
 | |||
|  |  * @param {String} imageName : 导出的图片命名, 只有type为'download'才会生效 | |||
|  |  * @param {String}  type: 图片的类型: png, jpeg,gif,bmp,四种类型 | |||
|  |  * **/ | |||
|  |  var htmlToCavas =  function(element, html2canvasObject, saveType='src', type='png', imageName) { | |||
|  | 	 var result = new Promise(function(resolve, reject){ | |||
|  | 		 html2canvas(element, html2canvasObject).then(canvas => { | |||
|  | 		 									   var imageWidth = canvas.width | |||
|  | 		 									   var imageHeight = canvas.height | |||
|  | 											   console.log(canvas.toDataURL('image/jpeg')) | |||
|  | 											   console.log('测试') | |||
|  | 		 									   if(saveType=== 'download'){ | |||
|  | 		 										   canvas2Image.saveAsImage(canvas, imageWidth, imageHeight, imageName, type) | |||
|  | 													resolve() | |||
|  | 											   } else if(saveType === 'src'){ | |||
|  | 		 										   var result = canvas2Image.convertToImage(canvas, imageWidth, imageHeight,type) | |||
|  | 		 										   console.log(result) | |||
|  | 												   resolve(result) | |||
|  | 		 									   }	    | |||
|  | 		 }).catch(err=> { | |||
|  | 			 reject(err) | |||
|  | 		 }) | |||
|  | 	 }) | |||
|  | 	return result | |||
|  |  } | |||
|  |   | |||
|  | export default htmlToCavas |