Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用颜色填充t恤,并在HTML画布上相应地更改文本颜色_Javascript_Jquery_Css - Fatal编程技术网

Javascript 用颜色填充t恤,并在HTML画布上相应地更改文本颜色

Javascript 用颜色填充t恤,并在HTML画布上相应地更改文本颜色,javascript,jquery,css,Javascript,Jquery,Css,我在画布上画了一件t恤,当用户在上面的菜单上选择颜色时,我正在尝试填充它。此外,我希望t恤上的文字相应地改变(例如,如果选择黑色,则t恤文字颜色应为白色)。这可能吗 到目前为止的代码片段: <body>T-shirt color <br> <canvas id="toolsCanvas" width=300 height=53></canvas> <br> <p> <ca

我在画布上画了一件t恤,当用户在上面的菜单上选择颜色时,我正在尝试填充它。此外,我希望t恤上的文字相应地改变(例如,如果选择黑色,则t恤文字颜色应为白色)。这可能吗

到目前为止的代码片段:

<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>
T恤颜色



演示我所说的内容会更容易,jsFiddle这里:

您应该使用
ctx.fillStyle=color
ctx.fill()
方法来填充衬衫。但不知何故,这件衬衫并没有完全充满色彩

这是你的电话号码


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

是的,应该是可能的。您已经有了基本的想法:只需对颜色选择事件执行
ctx.fill()
。看起来您需要为衬衫的主体定义一个闭合区域(手臂、衣领等都是闭合的,但按钮似乎不闭合)。我可以使用
ctx.fill()
。您应该填写每个闭合路径。。我实现了一个
setColor()
函数。。检查是否理解。一直在玩弄它,但你基本上错过了中心部分,因为你的线条在该部分没有真正闭合。发生这种情况是因为线条没有正确闭合衬衫,我走了这么远->,但我需要一秒钟来追踪线条。你只需要画中心部分,我开始了,但是你可以自己用beziercurves等来完成->谢谢你让我走上正轨,我想@adeneo正在研究为什么这件衬衫没有完全填满