文字列からBitmapへの変換方法

文字列を画像としてBitmapで取得すれば文字列を画像として扱えます。

文字列をただの画像として扱えるので回転させたり伸ばしたりできて便利です。

では早速文字列をビットマップ化するコードを紹介します。

String text = "Draw String";
    //描画するテキスト
Paint objPaint = new Paint();
Bitmap objBitmap;
Canvas objCanvas;
int textSize = 20;
int textWidth = textSize * text.length(), textHeight = textSize;

objPaint.setAntiAlias(true);
objPaint.setColor(Color.RED);
objPaint.setTextSize(textSize);
FontMetrics fm = objPaint.getFontMetrics();
objPaint.getTextBounds(text, 0, text.length(), new Rect(0, 0, textWidth, textHeight));
    //テキストの表示範囲を設定

textWidth = (int) objPaint.measureText(text);
textHeight = (int) (Math.abs(fm.top) + fm.bottom);
objBitmap = Bitmap.createBitmap(textWidth, textHeight, Bitmap.Config.ARGB_8888);

//キャンバスからビットマップを取得
objCanvas = new Canvas(objBitmap);
objCanvas.drawText(text, 0, Math.abs(fm.top), objPaint);

ImageView imageView = findViewById(R.id.imageView);
imageView.setImageBitmap(objBitmap);

このコードでやっていることはビットマップを元にしたキャンバスを作り、そのキャンバスに文字列を描画するだけで文字列のビットマップを得ることができます。

この例では大きさが20ピクセルで赤色の文字列が画像としてビューに描画されます。

ビットマップ化した文字列

注意点

文字列をビットマップ化にするときは次の点に注意したほうが良いことは次の点です。

このことに注意しておけば問題なく文字列をビットマップ化できます。

関連項目
プライバシーポリシー