如何在位图上绘制粗体文本?

我想要一个带有粗体文本的位图图标在地图上绘制。 我有一个片段写在图像上的文字:

Bitmap icon = BitmapFactory.decodeResource(PropertyMapList.this.getResources(), R.drawable.location_mark); TextPaint paint = new TextPaint(); paint.setColor(Color.BLACK); paint.setTextSize(14); paint.setFakeBoldText(true); //paint.setTextAlign(Align.CENTER); Bitmap copy = icon.copy(Bitmap.Config.ARGB_8888, true); Canvas canvas = new Canvas(copy); //canvas.drawText(jsonObj.getString("district_name"), 5, canvas.getHeight()/2, paint); String districtName = jsonObj.getString("district_name"); StaticLayout layout = new StaticLayout((districtName.length()>25 ? districtName.substring(0, 24)+"..":districtName)+"\n"+jsonObj.getString("total_properties"), paint, canvas.getWidth()-10,Layout.Alignment.ALIGN_CENTER, 1.3f, 0, false); canvas.translate(5, canvas.getHeight()/2); //position the text layout.draw(canvas); 

setFakeBoldText(true)不适用于我。 我想要在位图上绘制的文本加粗。

使用Paint对象上的setTypeface方法将字体设置为打开粗体的样式。

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