首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Web Chart 入門(2):SVG、VML、HTML5 Canvas 簡單繪圖實例

     編輯:Java 相關知識

VML 示例(IE 專用)

<html xmlns:v="urn:schemas-microsoft-com:vml">
<head><title>VML Example</title></head>
<body>
  <v:line from="20,20" to="200,200"></v:line>
</body>
</html>

關鍵:xmlns:v="urn:schemas-microsoft-com:vml" 聲明命名空間。
學習資源:MSDN VML、中文入門、在線編輯器。

SVG 示例

方式一:內聯 SVG(現代瀏覽器支持)

<html xmlns="https://www.w3.org/1999/xhtml" xmlns:svg="https://www.w3.org/2000/svg">
<body>
  <svg width="100%" height="100%" version="1.1" xmlns="https://www.w3.org/2000/svg">
    <line x1="0" y1="0" x2="300" y2="300" style="stroke:rgb(99,99,99);stroke-width:2" />
  </svg>
</body>
</html>

方式二:外部 .svg 文件嵌入

創建 line.svg:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1" xmlns="https://www.w3.org/2000/svg">
  <line x1="0" y1="0" x2="300" y2="300" style="stroke:rgb(99,99,99);stroke-width:2" />
</svg>

三種嵌入標簽:

  • <embed src="line.svg" type="image/svg+xml" pluginspage="..."/>
  • (支持腳本,非標準 XHTML)
  • <object data="line.svg" type="image/svg+xml" codebase="..."/>
  • (標準,不支持腳本)
  • <iframe src="line.svg"></iframe>
  • (隔離上下文)

HTML5 Canvas 示例

<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(10, 10);
ctx.lineTo(150, 50);
ctx.stroke();
</script>

Canvas 本身無繪圖能力,所有繪製邏輯在 JavaScript 中通過 2D Context API 完成。

技術選型現狀

  • VML:IE 5-8 專用,性能差(50+ 節點明顯卡頓),微軟已標記棄用(IE10+ 視為過時技術)。
  • HTML5 Canvas:標準未最終定案,早期 Facebook 放棄轉 Native,Firefox OS 推崇,前途不定。
  • SVG:W3C 標準,IE9+、主流瀏覽器完美支持,當前 Web 矢量圖主流選擇。

實際項目中,成熟 JS 圖表庫(ECharts、Highcharts、Raphael 等)已內部處理瀏覽器兼容,開發者無需直接操作底層技術。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved