Kuina-chan

くいなちゃん2018年12月11日


プログラミング言語Kuin」の言語仕様306、「draw2dライブラリ」についてです。

1draw2dライブラリ

高度な2D図形を描画する「draw2d.kn」を解説します。
drawライブラリと同じ流れで使用でき、wnd@Drawコントロールに対して描画します。
draw2dライブラリは、コンパイルオプションの実行環境が「wnd(ウインドウアプリ)」のときのみ使用可能です。
名前 説明
draw2d@circle 塗りつぶされた円を描画する関数
draw2d@circleLine 円の枠線を描画する関数
draw2d@line 線分を描画する関数
draw2d@rect 塗りつぶされた四角形を描画する関数
draw2d@rectLine 四角形の枠線を描画する関数
draw2d@tri 塗りつぶされた三角形を描画する関数

2draw2d@circle

「draw2d@circle」は、塗りつぶされた円を描画する関数です。

func circle(x: float, y: float, radiusX: float, radiusY: float, color: int)

x 中心のX座標
y 中心のY座標
radiusX 半径X
radiusY 半径Y
color 色(sRGB)
表2-1: draw2d@circleの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006

3draw2d@circleLine

「draw2d@circleLine」は、円の枠線を描画する関数です。

func circleLine(x: float, y: float, radiusX: float, radiusY: float, strokeWidth: float, color: int)

x 中心のX座標
y 中心のY座標
radiusX 半径X
radiusY 半径Y
strokeWidth 線の太さ
color 色(sRGB)
表3-1: draw2d@circleLineの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006

4draw2d@line

「draw2d@line」は、線分を描画する関数です。

func line(x1: float, y1: float, x2: float, y2: float, strokeWidth: float, color: int)

x1 頂点1のX座標
y1 頂点1のY座標
x2 頂点2のX座標
y2 頂点2のY座標
strokeWidth 線の太さ
color 色(sRGB)
表4-1: draw2d@lineの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006

5draw2d@rect

「draw2d@rect」は、塗りつぶされた四角形を描画する関数です。

func rect(x: float, y: float, width: float, height: float, color: int)

x 左端座標
y 上端座標
width
height 高さ
color 色(sRGB)
表5-1: draw2d@rectの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006

6draw2d@rectLine

「draw2d@rectLine」は、四角形の枠線を描画する関数です。

func rectLine(x: float, y: float, width: float, height: float, strokeWidth: float, color: int)

x 左端座標
y 上端座標
width
height 高さ
strokeWidth 線の太さ
color 色(sRGB)
表6-1: draw2d@rectLineの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006

7draw2d@tri

「draw2d@tri」は、塗りつぶされた三角形を描画する関数です。

func tri(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, color: int)

x1 頂点1のX座標
y1 頂点1のY座標
x2 頂点2のX座標
y2 頂点2のY座標
x3 頂点3のX座標
y3 頂点3のY座標
color 色(sRGB)
表7-1: draw2d@triの例外
発生条件 ビルド 例外コード
(16進数)
colorの値が有効範囲外 dbgのみ E9170006
1544533521jaf