我想知道如何翻譯已經在html5畫布上繪製的整個場景,例如向下5像素。我知道翻譯方法只是翻譯了畫布的座標系,但我想知道是否有辦法將已經繪製到畫布上的整個場景進行翻譯。翻譯html5畫布
回答
您可以將轉換和調用的drawImage傳遞畫布本身。
ctx.save();
ctx.translate(0, 5);
ctx.drawImage(canvas, 0, 0);
ctx.restore();
當這樣做時,原來的內容仍然會在下面。 根據您要完成的效果,設置globalCompositeOperation可能會對此有所幫助。
但是,您可能需要使用drawImage首先複製到第二個畫布,清除當前,應用變換並從副本中繪製。
除非你截圖和翻譯。
然而,你的繪製代碼應該做的伎倆前右剛插入
context.translate(0, 5)// or your values
。
我已經說過了,(至少我以爲我)明確表示這不是我想要的。該翻譯將翻譯我以後繪製的任何內容,而不是任何已繪製的內容。 但是,您的屏幕截圖解決方案可能是我想要的。你有指示如何做到這一點? – George 2010-08-02 21:06:40
Canvas對象有一個名爲toDataUrl的方法。看到這個問題http://stackoverflow.com/questions/934012/get-image-data-in-javascript – 2010-10-20 18:05:13
- 1. 使HTML5畫布的行爲像TclTK畫布的縮放/翻譯?
- 2. HTML5畫布得到放大後的座標和翻譯
- 3. HTML5畫布:縮放和翻譯後計算鼠標位置
- 4. 翻譯動畫
- 5. Android畫布 - 縮放和翻譯
- 6. 在畫布中翻譯矩形
- 7. easeljs改變起源2D畫布翻譯
- 8. Html5畫布動畫
- 9. Android翻譯動畫動畫
- 10. SVG動畫翻譯
- 11. Android翻譯動畫
- 12. Android翻譯動畫
- 13. onmouse畫布HTML5
- 14. HTML5畫布,GUI
- 15. 從HTML5畫布
- 16. 對HTML5畫布
- 17. HTML5畫布API
- 18. HTML5畫布ScreenToIso
- 19. HTML5畫布getPixel
- 20. HTML5畫布,smoothZoom
- 21. 在HTML5畫布
- 22. 翻轉Android畫布
- 23. 使用翻譯動畫將視圖從一種佈局翻譯爲另一種
- 24. 動畫GIF在HTML5畫布
- 25. HTML5畫布線條畫
- 26. HTML5畫布動畫問題
- 27. Html5,JavaScript,畫布動畫?
- 28. 動態HTML5畫布動畫
- 29. 梯度HTML5畫布
- 30. HTML5畫布問題
這聽起來像我想要的。我會試試看,並告訴你它是否適合我。 – George 2010-08-02 21:18:54
這個解決方案對我很好。但是,如果涉及到縮放,它也不能很好地工作。我有一個畫布,其縮放比例使得繪圖區域的寬度和高度分別爲120000和60000.畫布元素本身具有寬度1200和高度600,因此縮放變換在繪製之前在座標系上執行。無論如何,問題在於如果將圖像複製到第二個畫布,清除當前圖像並應用轉換和複製(如您所說),則平移和縮放將會使圖像模糊。只是想知道如果你知道如何使它不模糊。 – George 2010-08-03 19:03:55
是的,這正是發生了什麼事情。問題是,如果我從具有高分辨率的主畫布繪製到備份畫布,它將始終使用基本1200x600分辨率繪製,而不是放大的1200000x600000分辨率。此外,來回解決方案對我來說是可以的,因爲只有當用戶想要時才需要這樣做,而且不會那麼做。 – George 2010-08-03 21:37:58