如果我的很多繪圖將位於較大畫布的特定區域內(在本例中爲中心),有沒有辦法只是說您正在工作在那個特定的「子畫布」中,而不是每次你想畫畫都必須增加/減少邊距?每次指定座標時,它都會讓我的代碼看起來更加複雜。繪製HTML5畫布的特定區域
0
A
回答
0
您可以使用drawimage將一個離屏畫布繪製到另一個畫布的某個部分。
創建一個新的畫布對象,並繪製所有的東西。最後在某些座標處將畫布繪製到屏幕畫布上,並繪製drawimage。
1
您可以使用translate()
更改座標原點。使用save()
保存原始原點。然後,找到適合屏幕繪圖區域中心的原點,並致電translate(x, y)
。做你的繪畫,然後用restore()
讓你以前的原點回來。
0
Kinetic.js,Canvas的流行庫允許您創建Group
圖層。你可以指定x
,y
座標,這個Group
的高度和寬度。您還可以在該組中添加形狀並繪製其他內容。
這裏的和例如:
var stage = new Kinetic.Stage({
container: 'container',
width: 578,
height: 200
});
var shapesLayer = new Kinetic.Layer();
/*
* create a group which will be used to combine
* multiple simple shapes. Transforming the group will
* transform all of the simple shapes together as
* one unit
*/
var group = new Kinetic.Group({
x: 220,
y: 40,
rotationDeg: 20
});
var colors = ['red', 'orange', 'yellow'];
for(var n = 0; n < 3; n++) {
// anonymous function to induce scope
(function() {
var i = n;
var box = new Kinetic.Rect({
x: i * 30,
y: i * 18,
width: 100,
height: 50,
name: colors[i],
fill: colors[i],
stroke: 'black',
strokeWidth: 4
});
group.add(box);
})();
}
shapesLayer.add(group);
stage.add(shapesLayer);
相關問題
- 1. 限制畫布中繪製圖像對象的區域HTML5
- 2. HTML5畫布繪製
- 3. 在畫布上繪製區域
- 4. 如何清除HTML5畫布中的特定區域?
- 5. 如何在html5畫布中獲取特定區域或區域的座標?
- 6. HTML5畫布:使對象僅在畫布的特定區域中可拖動。
- 7. HTML5畫布繪製拖放
- 8. 連續繪製HTML5畫布
- 9. html5畫布繪製/保存
- 10. HTML5畫布繪製圖像
- 11. 從位圖或畫布的Android繪製區域與畫布
- 12. HTML5畫布繪製自定義光標
- 13. HTML5畫布:繪製未定義
- 14. html5動畫畫布已繪製元素
- 15. 在控制檯上繪製HTML5畫布
- 16. 在HTML5的畫布上繪製圖像
- 17. HTML5 - 畫布裏面div的繪製
- 18. 製作可拖動的HTML5畫布曲線區域
- 19. 在HTML5上繪製區域Canvas
- 20. 在畫布中重繪區域?
- 21. HTML5畫布不保留繪製順序
- 22. HTML5畫布繪製線在標尺
- 23. html5畫布繪製位置不正確
- 24. 繪製MS使用HTML5畫布和JavaScript
- 25. Javascript HTML5畫布繪製透明圓圈
- 26. 在html5畫布中繪製youtube
- 27. HTML5 - 超時後在畫布上繪製
- 28. 用HTML5畫布繪製草圖效果
- 29. 將圖像繪製到html5畫布
- 30. HTML5畫布繪製和更新
願你可能想使用['畫布#translate'(https://developer.mozilla.org/en-US/docs/HTML/Canvas/Tutorial/Transformations#翻譯)或許? – Alexander
亞歷克斯說什麼和亞歷山大試圖說什麼 - 使用context.translate(x,y)將您的新圖紙設置爲「sub-canvas」座標。請注意,在context.translate(100,100)之後,使用context.rect(0,0,50,50)繪製的矩形實際將在畫布上繪製100,100 - 非常簡單! – markE
@markE我依靠畫布寬度和高度來知道在哪裏繪製,所以如果我使用translate,我仍然需要添加/減去邊距以獲得「sub-canvas」的寬度和高度,以便獲得我的繪圖座標。 – user1136342