canvasを使用して画像+文字をbase 64形式の画像に変換

6896 ワード

var url = "car.png"  //     

var img = new Image();
img.src = url;
img.onload = function() {
    console.log(getBase64(img,'AAAA'));
    console.log(getBase64(img,'BBBB'))
}

function getBase64(img,text) {
    var body = document.getElementsByTagName('body')[0];
    var canvas = document.createElement("canvas");
    var width = 64;
    var imgWidth = 48;
    var imgLeft = (width - imgWidth) / 2;
    canvas.width = width;
    canvas.height = width;
    body.appendChild(canvas)

    var cxt = canvas.getContext("2d")

    //   
    cxt.drawImage(img, imgLeft, imgLeft,imgWidth,imgWidth);
    //       
    cxt.font = "14px Microsoft YaHei";
    //              
    cxt.textBaseline = 'top';
    cxt.textAlign = 'center';
    //     
    cxt.fillStyle = "#000";
    //     
    cxt.fillText(text, width / 2, 0);
	
	//   base64
    var dataUrl = canvas.toDataURL("image/png");
    //   canvas  
    body.removeChild(canvas);

    return dataUrl
    }