2014-10-28 24 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