有沒有可以幫助將GDI + GraphicsPath
轉換爲HTML5 canvas Path的庫?或者是否必須手動運行所有GraphicsPath.PathPoints
和GraphicsPath.PathTypes
以發出相應的HTML5代碼(如果是這樣,請分享任何提示)?如何將GDI + GraphicsPath轉換爲HTML5 canvas路徑?
1
A
回答
1
不幸的是我找不到任何有用的東西。有些人建議使用SVG作爲將曲線從GDI「傳輸」到Canvas的方式,但是我找不到適合.NET的任何體面的SVG庫。我花了相當長的時間才瞭解GraphicsPath
中的數據是如何存儲的,因爲它不像您想象的那麼簡單。 This is what I've came up to。
瞭解GraphicsPath的實際工作方式我已經設法使用一堆HTML5函數重新創建它:.moveTo()
,.lineTo()
和.bezierCurveTo()
。結果非常簡潔,儘管最終的字符串構建需要一些時間,並且如果源GraphicsPath表示使用花哨字體編寫的長文本,則生成的JS文件有時包含十萬分之一千行的代碼。令人驚訝的是,Firefox處理它們時沒有問題
我不會粘貼我使用的代碼,因爲它沒什麼特別的,只要您閱讀並理解my answer from another SO question即可。
相關問題
- 1. 將html5 canvas轉換爲android
- 2. 如何將HTML5 Canvas弧()轉換爲JavaFX 2.x Canvas arc()?
- 3. 如何將路徑轉換轉換爲路徑中的ImageBrush?
- 4. 如何將Mac路徑轉換爲Windows?
- 5. 如何將文本轉換爲路徑?
- 6. 將'../../'轉換爲'路徑/路徑'
- 7. 將路徑轉換爲UNC路徑
- 8. c#將路徑轉換爲新路徑\\
- 9. 將路徑轉換爲絕對路徑
- 10. 將HTTP路徑轉換爲UNC路徑?
- 11. 如何確定GDI +路徑上的點
- 12. 將URI轉換爲路徑
- 13. html5 canvas轉換陰影
- 14. 如何將DOS路徑轉換爲正常路徑(.net)
- 15. 如何將Android.Net.Uri路徑轉換爲xamarin中的物理路徑?
- 16. 如何將相對路徑轉換爲絕對路徑在C#
- 17. 如何將UNIX路徑轉換爲DOS路徑
- 18. 如何將物理路徑轉換爲虛擬路徑在C#
- 19. 如何將Android路徑對象轉換爲SVG路徑標記?
- 20. 轉換爲路徑
- 21. *在HTML5 Canvas中開始路徑查找
- 22. html5 canvas中基於路徑的動畫
- 23. html5 canvas動畫物體跟蹤路徑
- 24. Thymeleaf模板:將圖像路徑轉換爲HTML5屬性
- 25. HTML5 - 將動態文本轉換爲路徑
- 26. GDI + Region,Matrix和GraphicsPath處理
- 27. 將Canvas轉換爲Drawable
- 28. 轉換GDI爲XPS
- 29. 轉換爲HTML5
- 30. 將HTML5 Canvas + Javascript應用程序轉換爲可執行文件
除非它是一個小型的1-off項目,否則我會構建一個輸入原始GraphicsPath.Add ...()方法代碼或PathPoints + PathTypes的小解析器。自從我使用GDI已經有一段時間了,但我想我記得addPie和addText是少數「非HTML畫布」的gdi路徑方法。相當簡單,不是嗎? – markE
@markE它可能是一個單獨的項目,但有些路徑非常複雜(由文本創建)幷包含數千條曲線。 – SiliconMind
當你說「從文本創建」時,你的意思是.AddString()還是你的意思是有人用一堆.AddCurve()創建了類似文本的路徑?順便說一下,你是否注視着PathPoints + PathTypes數據,或者你是以生成路徑的代碼開始的? – markE