PHP繪圖類別

出自六年制學程
在2018年8月22日 (三) 23:09由丁志仁對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋

home.jendo.org/SVG/svgdraw.php

將陣列化為子串

功能

  1. 畫直角座標系:性質coordinate為真
    • 畫方格紙:性質squareLattice為真
  2. 畫函式:性質functions
    1. 畫一次方程式:函式名drawLine
    2. 畫拋物線:函式名parabola
    3. 畫借錢投資:函式名borrowMoneyToInvest
    4. 畫描點成線:函式名value2point
    5. 畫標準圓:函式名stdcircle
    6. 畫2016年之前的國中行政員額:函式名國中行政
  3. 畫多邊形:性質polygons
  4. 畫字:性質alnums
  5. 畫圓(圓心為直角座標,半徑為SVG座標):性質circles
  6. 畫橢圓(中心、x軸半長、y軸半長皆為直角座標):性質ellipses
  7. 畫橢圓弧(中心、x軸半長、y軸半長皆為直角座標):性質arcs

基本方法

  1. style:用字串索引陣列為唯一的引數,決定著色、框線、箭頭、透明度
  2. xc2p:直角座標轉 SVG 座標
  3. yc2p:直角座標轉 SVG 座標
  4. getDecimals:取一數的小數部分或小數位數
  5. getPureNumber:取一數的整數部分

零次物件

使用標籤繪圖,然後加入 $this->extraPrefix 或 $this->extraSuffix :

  1. line(直線),屬性有x1(第一點x座標)y1(第一點y座標)x2(第二點x座標)y2(第二點y座標)。
  2. polyline(多點成線),諸屬性如下:
    • points:多點,點與點用空白間開,同一點 x y 座標以逗點間開。
  3. polygon(多邊形),也可以取五點畫出一個星形。諸屬性如下:
    • points:多點,點與點用空白間開,同一點 x y 座標以逗點間開。
  4. circle(圓),諸屬性如下:
    • cx(圓心x座標),cy(圓心y座標),r(半徑)
  5. rect(矩形),諸屬性如下:
    • width(寬),height(高),省略起點則以原點為起點,x(起點x座標),y(起點y座標),rx(圓角x半徑),ry(圓角y半徑)
  6. ellipse(楕圓),諸屬性如下:
    • cx(中心x座標),cy(中心x座標),rx(x軸半長),ry(y軸半長)。
  7. path
    • 二次貝茲曲線
    • 三次具茲曲線
    • 橢圓弧
  8. text(文字)
  9. image(圖)
  10. foreignobject(外部物件)

一次物件

即畫出一系列的同類標籤。

性質為陣列,用 foreach 一一取出元素,每一元素也是陣列,指示畫出一標籤。

  1. polygons(畫多邊形):取每一個 polygon 的 points,rotate 索引的元素值,配合 style 函式可用的諸索引值。
  2. lineSegments(線段):取每一個 lineSegment 的註標索引二維陣列(決定兩點),配合 style 函式可用的諸索引值。
  3. alnums(畫字):取每一個 alnum 的註標索引二維陣列決定位置,word索引決定內容,color,size,decoration,font-style索引決定外觀。
  4. circles(畫圓)(圓心為直角座標,半徑單位為SVG中的點數):取每一個 circle 的註標索引二維陣列決定圓心,radius決定半徑,配合 style 函式可用的諸索引值。
  5. ellipses(畫橢圓)(中心、x軸半長、y軸半長皆為直角座標):取每一個 ellipse 的註標索引二維陣列決定中心,rx,ry索引的元素值決定兩軸,配合 style 函式可用的諸索引值。
  6. arcs(橢圓弧)(中心、x軸半長、y軸半長皆為直角座標):取每一個 arc 的註標索引二維陣列決定弧的起點與終點,rx,ry索引的元素值決定兩軸,xRotation,大或小弧,順時針決定弧的形狀,配合 style 函式可用的諸索引值。

二次物件

用函式結合多種一次物件

  • 逐點代值
    1. 零次多項式
    2. 一次多項式
    3. 二次多項式
    4. 其他函式,如三次以上多項式、sin值、cos值
  • 非逐點代值
    1. stdcircle
    2. value2point
    3. 國中行政