1
這是關於使用畫布和Blob創建圖像。字體圖標不能在blob圖像中工作
我在其中包含字體圖標,如下所示。輸出顯示爲正方形而不是圖標。
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var data = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">' +
'<text x="0" y="70" font-family="FontAwesome" font-size="70px">\uf040</text>' +
'</svg>';
var DOMURL = window.URL || window.webkitURL || window;
var img = new Image();
var svg = new Blob([data], {
type: 'image/svg+xml;charset=utf-8'
});
var url = DOMURL.createObjectURL(svg);
img.onload = function() {
ctx.drawImage(img, 0, 0);
DOMURL.revokeObjectURL(url);
}
img.src = url;
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<meta charset="utf-8">
</head>
<body>
<H3>SVG:</H3>
<svg width="100" height="100">
<text x="0" y="70" font-family="FontAwesome" font-size="70px"></text>
</svg>
<H3>Blob:</H3>
<canvas id="canvas"></canvas>
</body>
</html>
我缺少的東西?任何人都可以幫助我嗎?
非常感謝你Kaiido!這真的很有幫助。包含實際的svg後,它就可以工作。 – Aneesh