创建位图时如何指定文字大小、字体、密度

How can we specify the text size, type, density when creating bitmap

我正在尝试创建一个带有文本的位图。但我在为该文本指定选项时遇到了麻烦,例如大小、类型、平滑度。

这是我的代码:

Bitmap resultBitmap=Bitmap.createBitmap(384,384, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(resultBitmap);
canvas.drawColor(Color.WHITE);
Paint paint = new Paint();
paint.setColor(Color.BLACK); // Text Color  
paint.setStrokeWidth(24); // Text Size      
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER)); // Text Overlapping Pattern

// some more settings...
canvas.drawBitmap(resultBitmap, 0, 0, paint);
canvas.drawText("00: Some text", 300, 10, paint);

这些选项在将用于在 canvas 上绘制文本的绘图中可用。使用 android studio 上的自动完成功能自行检查。请注意,颜色将是油漆的原始颜色,因此没有可用的 setTextColor 方法。

密度的问题是位图本身的大小,虽然小,但打印出来的文字并不流畅! 文字大小:

paint.setTextSize(fontSize);

密度和平滑是同一个问题,所以把它变大就行了。

类型:

paint.setTypeface(Typeface.create(Typeface.DEFAULT_BOLD, Typeface.BOLD));

颜色:

paint.setColor(Color.BLACK);

背景颜色:

canvas.drawColor(Color.WHITE);