1. 程式人生 > >jTopo 入門 簡單例項

jTopo 入門 簡單例項

jTopo Day1

解決了該死的 drawImage 不能顯示的問題

​ 最近導師讓搞網路拓撲圖,可以拖動的那種。網上參考了很多,要麼是收費;要麼就是專案太龐大,和需求不符合,於是便準備搞一下 jTopo。

開始

jTopo 特點

  • 基於 HTML5 canvas 開發
  • 開源
  • 體積小

下載

​ 本文最後給出專案相關程式碼,大家可以自行下載。

jtopo.js

​ 到官網就可以下載,現在最新的版本是0.4.8,開啟下面的連結。

http://www.jtopo.cn/download/jtopo-0.4.8-min.js

​ 本地新建檔案 jtopo-0.4.8-min.js,把瀏覽器上的文字全部複製進去就好了。

jquery.js

http://www.jq22.com/jquery-info122

​ 選擇一個版本下載。

簡單的一個例子

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="js/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript" src="js/jtopo-0.4.8-min.js"></script>
	<script>
        $ (document).ready(function() {
            //畫布物件:canvas
            var canvas = document.getElementById('canvas');
            //抽象的舞臺物件對應一個Canvas物件,所有圖形展示的地方
            var stage = new JTopo.Stage(canvas);
            //場景物件
            var scene = new JTopo.Scene(stage);
            //背景顏色設定
            scene.background='#00ff00';
            //節點新增
            var node = new JTopo.Node("JKP");
            //設定節點位置
            node.setLocation(150, 100);
            //節點填充顏色
            node.fillcolor='#CD0000';
            //場景物件新增節點
            scene.add(node);
        });
	</script>
</head>
<body>
	 <canvas id="canvas" width="910" height="400"></canvas>
</body>
</html>

瀏覽器報錯

在這裡插入圖片描述

​ 這個錯誤讓我搞了一個下午,一開始以為是 js 檔案有問題,後來以為是因為沒有放在伺服器上,又放在了 Tomcat 下除錯,結果還是不行。後來挨個去部落格下面看大家的提問,發現大家也有遇到這個問題。有人說把 scene.background 改成 scene.backgroundcolor,我改了還是不行。。。我的眼淚簡直要掉下來 ̄□ ̄||

​ 晚上吃完飯,下載了一個別人做好的專案的原始碼。發現只要把 scene.background 設定成一個固定的背景圖片就可以了。下面發下最終版的程式碼。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="js/jquery.js" type="text/javascript"></script>
    <script src="js/jtopo-0.4.8-min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            //畫布物件:canvas
            var canvas = document.getElementById('canvas');
            //抽象的舞臺物件對應一個Canvas物件,所有圖形展示的地方
            var stage = new JTopo.Stage(canvas);
            //場景物件
            var scene = new JTopo.Scene(stage);
            //背景顏色設定
            scene.background='./img/bg.jpg';
            //節點新增
            var node = new JTopo.Node("EMC");
            //設定節點位置
            node.setLocation(150, 100);
            //節點填充顏色
            node.fillcolor='#CD0000';
            //場景物件新增節點
            scene.add(node);
      });
    </script>
</head>
<body>
    <canvas id="canvas" width="300" height="200"></canvas>
</body>
</html>