在网站项目中实现 html、javascript 和 canvas
Implementing html, javascript and canvas in a website project
我试图创建一个"手提袋"(矩形),它必须通过单击某个按钮来改变其颜色。客户必须能够在袋子(矩形)上添加他的"徽标"(一些文本)。
这两个代码都可以独立工作,但是当我将它们组合在一个脚本中时,事情就会混淆。
矩形的代码是:
var canvas=null;
var context=null;
window.onload = function() {
canvas=document.getElementById("drawing");
context=canvas.getContext("2d");
context.beginPath();
context.rect(100, 50, 165, 200);
context.fillStyle = 'white';
context.fill();
context.lineWidth = 1;
context.strokeStyle = 'black';
context.stroke();
}
</script>
这是用于添加文本的代码,该文本可以独立工作,但永远不会与上面的文本结合使用:
<input type="text" id="text_cnv" size="20" maxlength="12" />
<script>
function clearCanvas(cnv)
{
var ctx=cnv.getContext('2d');
ctx.beginPath();
ctx.save();
ctx.setTransform(1,0,0,1,0,0);
ctx.clearRect(0,0,cnv.width,cnv.height);
ctx.restore();
}
function addTextCnv(ctx,text,x,y,maxWidth,lineHeight)
{var words=text.split(' ');
var nr_w=words.length
var addtxt='';
for(var n=0;n<nr_w;n++)
{
var txtLine=addtxt+words[n]+' ';
var metrics=ctx.measureText(txtLine);
var txtWidth=metrics.width;
if(txtWidth>maxWidth&&n>0)
{
ctx.fillText(addtxt,x,y);
addtxt=words[n]+' ';
y+=lineHeight;
}
else addtxt=txtLine;
}
ctx.fillStyle='black';
ctx.font='bold 17px sans-serif';
ctx.fillText(addtxt,x,y);
}
var drawing=document.getElementById('drawing');
var ctx1=drawing.getContext('2d');
var maxWidth=drawing.width-250; //here we change the width of where the letters start
var lineHeight=23;
var x_pos=(drawing.width-maxWidth)/2;
var y_pos=175; //here we change the height of where the letters start
document.getElementById('text_cnv').onkeyup=function(){clearCanvas(drawing);
addTextCnv(ctx1,this.value,x_pos,y_pos,maxWidth,lineHeight);
}
</script>
多谢!
我建议您使用 http://editor.method.ac/,它是创建在线editro应用程序的非常有创意且不错的工具,我正在使用它,它免费且完整。 ;)主站点是:http://method.ac
相关文章:
- Javascript Canvas使用getImageData(x,y,1,1).data获取颜色
- 使用 Javascript / Canvas / Jquery 制作部分背景透明器
- html/JavaScript canvas 将值更改为用户输入
- Javascript canvas.getImageData IE vs Chrome
- Javascript/Canvas-查找相对于坐标网格位置的鼠标坐标
- drawImage in JavaScript (Canvas)
- 添加控件以操纵Javascript Canvas中的动画
- javascript canvas is null
- 检查单选按钮的状态(javascript/canvas)
- Angularjs javascript canvas not cleared
- Javascript canvas.固定线宽,与变换无关
- Javascript/Canvas - 从预先存在的图像创建新图像
- JavaScript canvas 元素在画布清除后不显示
- JavaScript:Canvas.drawImage 不显示任何图像
- Javascript canvas
- JavaScript canvas 在更改宽度后消失
- 保留对 JavaScript canvas imageData 的引用
- Javascript canvas 中的 pixelcolor 和 PHP imagecolorat() 的区别
- HTML - 使用 Javascript/canvas 和 HTML 将上传的图像拉入 PHP
- Javascript canvas simple lightsource