2013年9月3日火曜日

Canvas のdrawText により汚い文字をきれいな文字へ直す方法

Canvas クラスが用意したdrawText関数を利用して文字を書く場合は次の画像みたいな汚い文字が出力されませんか?



コードは下記

public class CustomView extends View{

 public CustomView(Context context, AttributeSet attrs) {
  super(context, attrs);  
 }

 @Override
 public void onDraw(Canvas canvas){
  
  Paint p = new Paint();    
  p.setTextSize(25);
  canvas.drawText("時間を蹴飛ばす",20,50,p);
  
  super.onDraw(canvas);
 }
}

ここで、上記のコードのPaint() コンストラクタにフラグを加えることによって、文字がきれいになります。



Paint()コンストラクタを次のように書き換えればよいです。

Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);

ほかの方法としては、フォントを変えることです。次のコード

p.setTypeface(Typeface.SANS_SERIF);

を加えると、フォントが変わります。

0 件のコメント:

コメントを投稿