2012-01-28 22 views
4

我需要在我作爲大皮薄文本視圖中繪製單個字符,如圖圖像下面(文本只是簡單的線條)如何畫大皮薄文字的Android

enter image description here

但我下面的代碼給出我下面的圖片(文字的形狀)

Paint dPaint = new Paint(); 
    dPaint.setAntiAlias(true); 
    dPaint.setDither(true); 
    dPaint.setColor(Color.RED); 
    dPaint.setTextSize(getWidth()*.8F); 
    dPaint.setStyle(Paint.Style.STROKE); 
    dPaint.setStrokeWidth(1); 
    canvas.drawText("A",getWidth()*.3F, getHeight()*.6F, dPaint); 

enter image description here

我嘗試過各種油漆和中風的性質,但沒有解決。另外我在java中讀取的二維文本被繪製爲shape。

有沒有一種方法可以將文本(特別是字符)繪製爲線條而不是形狀。此外,文本大小應該很大。

回答

1

我覺得只有兩種方式來實現您的要求。

使用自定義字體類型與字體樣式,並用它在你的應用程序,如下

TextView text = (TextView) findViewById(R.id.textView); 
    Typeface customFont = Typeface.createFromAsset(getAssets(), "ThinText.ttf"); 
    text.setTypeface(customFont); 

另一種方法是你必須通過計算所需的座標來繪有它的特殊性的形狀線繪製該字母或數字的路徑。

我希望它可以幫助你。

+0

認爲它仍然將字體描繪爲形狀,但是細線文字給出了線條的錯覺。我發現了一個很薄的文本字體[here](http://www.dafont.com/bird-cherry.font) – Deep 2012-01-29 09:22:10

0

你增加strokewidth,那麼薄的增加,像這樣:

dPaint.setStrokeWidth(5); 
+0

但是角色仍然被繪製爲形狀,而不是線條。這是真正的挑戰。 – Deep 2012-01-28 09:43:12