Javascript 将文本工具添加到绘图应用程序HTML、画布
我正在尝试添加一个文本工具到我的应用程序中,我正在使用一个输入框进行开发 是否可以按enter键或在框外单击将文本应用于画布并销毁输入框 HTMLJavascript 将文本工具添加到绘图应用程序HTML、画布,javascript,jquery,html,html5-canvas,Javascript,Jquery,Html,Html5 Canvas,我正在尝试添加一个文本工具到我的应用程序中,我正在使用一个输入框进行开发 是否可以按enter键或在框外单击将文本应用于画布并销毁输入框 HTML <span id="tools"> <button id="text" class="texttool">txt</button> </span> <canvas id="sketch"></canvas> 您可以更改drawText函数以隐藏框的边框 这是一个简单的解决
<span id="tools">
<button id="text" class="texttool">txt</button>
</span>
<canvas id="sketch"></canvas>
您可以更改drawText函数以隐藏框的边框 这是一个简单的解决方案,看起来没有盒子,但创建时也看不到它 更改
innerShadow:'0px 0px 5px rgba(0,0,0,0.5)',
使用innerShadow:'0px 0px rgba(0,0,0,0.5),
并将边框宽度:1更改为0
希望对您有所帮助您可以更改drawText函数以隐藏方框的边框
这是一个简单的解决方案,看起来没有盒子,但创建时也看不到它
更改innerShadow:'0px 0px 5px rgba(0,0,0,0.5)',
使用innerShadow:'0px 0px rgba(0,0,0,0.5),
并将边框宽度:1更改为0
希望这有助于让它变得更容易,尝试为框提供css样式,使边框不可见使其更容易,尝试为框提供css样式,使边框不可见答案为K,但我需要以某种方式将文本绘制到画布上,这样我就无法正确使用其他工具,我想我也不能重复使用文本。谢谢你的回答,但我需要以某种方式将文本绘制到画布上,这样我就不能正确使用其他工具,我也不能重复使用文本。
var canvas, ctx;
var inputBox=0;
function drawText(ctx,x,y,size) {
if (inputBox==0){
inputBox=1;
var input = new CanvasInput({
x: mouseX,
y: mouseY,
canvas: document.getElementById('sketch'),
fontSize: 18,
fontFamily: 'Arial',
fontColor: '#212121',
fontWeight: 'bold',
width: 300,
padding: 8,
borderWidth: 1,
borderColor: '#000',
borderRadius: 3,
boxShadow: '1px 1px 0px #fff',
innerShadow: '0px 0px 5px rgba(0, 0, 0, 0.5)',
placeHolder: 'Enter message here...'
});
}
}
function init() {
canvas = document.getElementById('sketch');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
if (canvas.getContext)
ctx = canvas.getContext('2d');
if (ctx) {
canvas.addEventListener('mousedown', sketch_mouseDown, false);
canvas.addEventListener('mousemove', sketch_mouseMove, false);
window.addEventListener('mouseup', sketch_mouseUp, false);
}
}
var onTool = function() {
if ( tool == 'brush' )
{ drawLine(ctx,mouseX,mouseY,2); }
else if ( tool == 'eraser' )
{ drawEraser(ctx,mouseX,mouseY,2); }
else if ( tool == 'text' )
{ drawText(ctx,mouseX,mouseY,2); }
};