zoukankan      html  css  js  c++  java
  • canvas将图片转为base64

    最简例子

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    		<title>canvas将图片转为base64</title>
    		<style type="text/css">
    			body {
    				margin: 0;
    			}
    		</style>
    	</head>
    
    	<body>
    		<img src="//img.alicdn.com/tps/i2/TB1bNE7LFXXXXaOXFXXwFSA1XXX-292-116.png" id="img" />
    		<canvas id="load_area" width="100%" height="224px"></canvas>
    		<script type="text/javascript">
    			var imgEl = document.getElementById('img');
    			var loadCanvas = document.getElementById('load_area');
    			var context = loadCanvas.getContext('2d');
    			var base64Str = '';
    			var tmpImage = new Image();
    			tmpImage.setAttribute('crossOrigin', 'anonymous');
    			tmpImage.src = imgEl.src;
    			tmpImage.onload = function() {
    				loadCanvas.width = imgEl.width;
    				loadCanvas.height = imgEl.height;
    				context.drawImage(tmpImage, 10, 10);
    				base64Str = loadCanvas.toDataURL('image/jpg');
    			};
    		</script>
    	</body>
    
    </html>
    

    纯js版

    var appendCanvas = function() {
    	var body = document.body;
    	var canvas = document.createElement('canvas');
    	body.appendChild(canvas);
    	return canvas;
    };
    
    var createImage = function(url) {
    	var img = new Image();
    	img.setAttribute('crossOrigin', 'anonymous');
    	img.src = url;
    	return img;
    };
    
    var imageToBase64 = function(url) {
    	var canvas = appendCanvas();
    	var context = canvas.getContext('2d');
    	var tmpImage = createImage(url);
    	var base64Str = '';
    	tmpImage.onload = function() {
    		canvas.width = tmpImage.width;
    		canvas.height = tmpImage.height;
    		context.drawImage(tmpImage, 0, 0);
    		base64Str = canvas.toDataURL('image/jpg');
    		console.log(base64Str);
    	};
    };
    
  • 相关阅读:
    Codeforces Round #545 (div 1.)
    THUSC 2017 大魔法师
    loj #6216. 雪花挂饰
    [NOI Online #2 提高组]涂色游戏
    [NOI Online #2 提高组]子序列问题
    [NOI Online #1 入门组]跑步
    备战noip week7
    [NOI Online #3 提高组]优秀子序列
    20201017校测
    springboot基于maven多模块项目搭建(直接启动webApplication)
  • 原文地址:https://www.cnblogs.com/xiaoyucoding/p/6636670.html
Copyright © 2011-2022 走看看