2014-10-28 23 views
3

我在画布上画出了一件t恤,而当前用户在上面的菜单上选择一种颜色时正试图填充它。另外,我希望T恤上的文字可以相应地改变(例如,如果选择黑色,那么T恤文字颜色应该是白色的)。这可能吗?用颜色填充t恤并在HTML画布上相应地更改文字颜色

的代码片段至今:

<body>T-shirt color 
    <br> 
    <canvas id="toolsCanvas" width=300 height=53></canvas> 
    <br> 
    <p> 
     <canvas id="drawingCanvas" width="520" height="0"></canvas> 
     <canvas id="itemCanvas" width="520" height="429"></canvas> 
</body> 

它会更容易证明什么,我说是,这里的jsfiddle:http://jsfiddle.net/rtnq8mjL/

+0

是的,应该是可以的。你已经有了基本想法:只需做一个'ctx.fill()'来响应颜色选择事件。看起来你需要为衬衫的身体定义一个封闭区域(手臂,领子等全部关​​闭,但按钮看起来不是这样)。 – bishop 2014-10-28 16:49:12

+0

我可以使用'ctx.fill()'.. [fiddle]来填充它(http://jsfiddle.net/rtnq8mjL/1/)。你应该填充每个关闭路径..我实现了一个'setColor()'函数..检查了解。 – 2014-10-28 16:50:39

+2

一直玩弄它,但你基本上缺少中心部分,因为你的线条并不真正在那个部分关闭。 – adeneo 2014-10-28 16:51:25

回答

1

您应该使用ctx.fillStyle = colorctx.fill()方法来填补衬衫。但不知何故,衬衫并没有完全被颜色填充。

这里是partially completed fiddle

我希望你能从这里解决这个问题。

+0

感谢您让我走上正轨,我认为@adeneo正在研究为什么衬衫不能完全填满 – methuselah 2014-10-28 17:15:41