高速に楕円を描く

<戻る

API宣言コードを載せてあります


-/-/-/-/-宣言-/-/-/-/-/

APIのEllipselを使います。

宣言は、

 

Declare Function Ellipse Lib "gdi32" Alias "Ellipse" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

をコードに記述してください。

また、Formコードに記述する場合は、PrivateをAPI宣言の先頭に記述してください。

 

-/-/-/-/-使い方-/-/-/-/-/

使い方は、Circleメソッドとだいぶ違います。

次の例は、Picture1.Circle(120, 120), 90と結果は同じです。

 

Ellipsel Picture1.hDC, 150, 120, 240, 210

 

多分、Refreshメソッドが必要だと思います。

 

Picture1.Refresh

 

-/-/-/-/-余談:1999/7/19-AM3:05-/-/-/-/-/

実は、私はEllipselを一度も使ったことがありません。

それじゃあ、何故説明できるかと言うと

英和辞典で調べると、そのまま 楕円 と描いてたからです。

それと、APIビューアに載ってるEllipselの引数を見ると

一瞬アレっと思いました。

もしかして、Windows付属のペイントブラシも、これを

使っているのでは?なぜそう思ったか。

だって、Circleメソッドみたいなのではだいたい真ん中を

基準として描いているに対し

Ellipselは、引数をシンプルにするためでしょう、引数が

4つですむように内部調整して描いていると思います。

そのEllipselをそのまま使うとペイントブラシのように

なるのではと・・・。

以上、余談でした。文章的に変な風に感じたと思いますが

気にしないでください。だって余談なんだも〜ん。(だって連発)

<戻る


http://www.vector.co.jp/authors/VA015521/