2012-05-17 47 views
4

我希望能夠將任何字符或字符串轉換爲形狀或區域,以便我可以繪製該字符的大小,樣式,效果等。喜歡。Java - 將字符或字符串轉換爲形狀/區域

爲了更具體一點,我將使用視差來繪製它,以便它只在某個角度明確定義(這就是爲什麼我不能使用html或任何這種性質的東西)。我已經設置了視差,我只需要這個形狀。因此總之,public Shape convert(char c){...}

或者,如果你能想到另一種方式來實現這一點,請讓我知道。


只給你一個大概的瞭解:

writing in clouds

回答

1

根據previous answer,似乎可以如下(假設這種方法對JPanel子類定義的)管理這樣的:

public Shape convert(char c) { 
    Font f = getFont(); 
    // Optionally change font characteristics here 
    // f = f.deriveFont(Font.BOLD, 70); 

    FontRenderContext frc = getFontMetrics(f).getFontRenderContext(); 
    GlyphVector v = f.createGlyphVector(frc, new char[] { c }); 
    return v.getOutline(); 
} 

將方法聲明爲String參數可能更容易,因爲您可以傳遞String作爲th e第二個參數爲createGlyphVector() - 如果您需要進行多個操作,則此操作可能比單獨轉換每個字符更有效。