E71:appuifw.Canvasを解説
E71:appuifw.Canvasを解説 †
簡単ですが、appuifw.Canvasクラスの使い方が「Python for S60_1_4_5.pdf」みてもよくわからなかったので、実際に使ってみてわかったことを書きます。
appuifw.Canvasクラスのメソッド †
Canvasクラスが持っているメソッドは以下の通り
メソッド名 | 動作 | coordseaの指定値 | 有効なオプション |
line(coordseq[, <options>]) | 線を描く | sx,sy,ex,ey | outline,width |
polygon(coordseq[, <options>]) | |||
rectangle(coordseq[, <options>]) | 四角を描く | sx,sy,ex,ey | outline,width,fill |
ellipse(coordseq[, <options>]) | 円を描く | sx,sy,ex,ey | outline,width,fill |
pieslice(coordseq, start, end[, <options>]) | |||
arc(coordseq, start, end[, <options>]) | |||
point(coordseq[, <options>]) | 点を描く | x,y | font |
clear([color=0x ]) | |||
text(coordseq, text[ll=0, font=None ]) | テキストを描く | x,y |
※1:手抜きですが、空欄のメソッドは試してません。
※2:sx,syは開始のx,y座標、ex,eyは終了のx,y座標を示します。
※3:pointメソッドのx,y座標は、点の中心の座標です。
※4:testメソッドのx,y座標は、テキスト開始の左下の座標です。
なお、ほんと手抜きで申し訳ないんですが、以下のメソッドは、メソッドの引数が長いので表からは省略してます笑
- measure text(text[font=None, maxwidth=-1, maxadvance=-1 ])
テキストの長さを測るメソッドっぽいです。 - blit(image[,target=(0,0), source=((0,0),image.size), mask=None, scale=0 ])
イメージを貼り付けるメソッドっぽいです。
appuifw.Canvasを使ってみる †
上で紹介したメソッドのうち
- line
- rectangle
- ellipse
- point
- text
を使ったサンプルソースを以下に示します。
■canvastest2.py
#refpre(canvastest2.py,,1)
ソースの解説 †
- 07行目~10行目で、lineメソッドを色、太さの指定を変えて描画します。
- 12行目で、pointメソッドで直径が20ピクセルの点を描画します。
- 14行目~16行目で、開始x,y座標が12行目の点の中心と同じである四角、円を描画します。
- 18、19行目では、外枠と中の色が違う円と四角を描画します。
- 21行目では、シンプルなフォントしてのテキストを描画します。
- 22行目では、わりと色々指定したフォントのテキストを描画します。