錨點的理解 J2me anchor

public void drawString(String str,
                       int x,
                       int y,
                       int anchor)
參數:
str - 要繪製的字符串
x - X座標
y - Y座標
anchor - 傳說中的錨點
錨點的應用還是比較廣泛的,當然用的最多的還是左上角,也就是
Graphics.LEFT | Graphics.TOP = 0
它畫出來以後,就是把字符串的左上角定位到你寫的座標(x,y)上,如果是
Graphics.LEFT | Graphics.BOTTOM
就是指你畫出來的字符串的左下角會定位到你寫的座標(x,y)上
還有Graphics.RIGHT | Graphics.TOP等等組合,具體的你可以參照文檔嘛,記得文檔的目錄好像是在WTK安裝目錄下的doc下,如果找不到的話就去下載一個<J2ME API 速查手冊>
我說過了,你必須用下面這些常量的組合,比如
Graphics.LEFT | Graphics.BOTTOM 表示左下點
或者
Graphics.BASELINE | Graphics.RIGHT 表示基線右點
你那個20 就是 Graphics.RIGHT | BOTTOM 也就是右下角的意思,默認情況下,直接用0,表示左上角,在你不明白這些用法以前,直接就0就得了~
下面是常量表
 public static final int BASELINE 64
 public static final int BOTTOM 32
 public static final int DOTTED 1
 public static final int HCENTER 1
 public static final int LEFT 4
 public static final int RIGHT 8
 public static final int SOLID 0
 public static final int TOP 16
 public static final int VCENTER 2
看下面的圖片,紅點是你設置的座標,設置錨點爲0,也就是你據說的第四個參數,這時畫出的"張三"的左上角位置就是紅點位置,也就是Graphics.LEFT | Graphics.TOP, 如果把錨點設置成 Graphics.RIGHT | Graphics.BOTTOM,繪製李四,這時的字符串的右下角位置和紅點是重合的
下面那個孫二的位置比較特殊,是用BASELINE(基線)爲座標進行繪製的,具體怎麼回事兒我也不清楚,大概是爲了讓中英文能在同一條線上吧,它的錨點是Graphics.BASELINE | LEFT
注意,在drawString中,不可使用VCENTER……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章