參考
starter 1
原始碼(AddText_1.html)
<html>
<head>
</head>
<body>
<form>
<img id="imgtarget" style="display:none" src="0007.jpg" />
<input type="text" id="inp"/>
<button type="submit">Save</button>
</form>
<br>
<canvas id="canvasTarget" style="width:600px"/>
<script src="AddText_1.js"></script>
</body>
</html>
<img id="imgtarget" style="display:none" src="0004.jpg" />
display:none 設定不出現
原始碼(AddText_1.js)
var canvas = document.getElementById('canvas'),
ctx = canvasTarget.getContext('2d');
canvasTarget.width = imgtarget.width;
//canvas.crossOrigin = "Anonymous";
canvasTarget.height = imgtarget.height;
ctx.drawImage(imgtarget, 0, 0);
inp.onchange = function (e)
{
ctx.font = "36pt Verdana";
var txt = e.target.value;
if(txt.length>0) {
//redraw image
ctx.clearRect(0,0,canvasTarget.width,canvasTarget.height);
ctx.drawImage(imgtarget, 0, 0);
//refill text
ctx.fillStyle = "red";
ctx.fillText(e.target.value,40,80);
}
}
狀況:有時候不出現。 猜測: 可能需要onload 事件
imgtarget.onload=function(e)
{
ctx.drawImage(imgtarget, 0, 0);
}
start 2
測試
{{< codepenremote htmlFile="AddText_1.html" jsFile="AddText_1.js"
}}
<html>
<head>
</head>
<body>
<form>
<img id="imgtarget" style="display:none" src="0007.jpg" />
<input type="text" id="inp"/>
<button type="submit">Save</button>
</form>
<br>
<canvas id="canvasTarget" style="width:600px"/>
<script src="AddText_1.js"></script>
</body>
</html>
var canvas = document.getElementById('canvas'),
ctx = canvasTarget.getContext('2d');
canvasTarget.width = imgtarget.width;
//canvas.crossOrigin = "Anonymous";
canvasTarget.height = imgtarget.height;
ctx.drawImage(imgtarget, 0, 0);
inp.onchange = function (e)
{
ctx.font = "36pt Verdana";
var txt = e.target.value;
if(txt.length>0) {
//redraw image
ctx.clearRect(0,0,canvasTarget.width,canvasTarget.height);
ctx.drawImage(imgtarget, 0, 0);
//refill text
ctx.fillStyle = "red";
ctx.fillText(e.target.value,40,80);
}
}