创建位图时如何指定文字大小、字体、密度
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);
我正在尝试创建一个带有文本的位图。但我在为该文本指定选项时遇到了麻烦,例如大小、类型、平滑度。
这是我的代码:
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);