Wie zeichne ich fetten Text auf einer Bitmap?

Lesezeit: 2 Minuten

Benutzer-Avatar
Sampath Kumar

Ich möchte ein Bitmap-Symbol mit fettem Text, um es auf der Karte zu zeichnen. Ich habe einen Ausschnitt, um Text auf das Bild zu schreiben:

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) funktioniert bei mir nicht. Ich möchte, dass der auf der Bitmap gezeichnete Text fett dargestellt wird.

Benutzer-Avatar
Gab Sechan

Verwenden Sie die setTypeface Methode auf Ihrem Paint -Objekt, um die Schriftart auf etwas festzulegen, bei dem der Fettstil aktiviert ist.

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

  • setTypeface ermöglicht es Ihnen, eine Schriftart festzulegen. Schriftarten haben Stile wie Fett, Kursiv usw. Sie können sich die Konstruktoren für Schriftarten ansehen und sehen, wie Sie eine Schriftart mit diesem Stil erstellen. Sobald Sie eine erstellt und über diesen Aufruf festgelegt haben, verwenden alle zukünftigen Zeichenbefehle mit dieser Farbe diese Schriftart.

    – Gab Sechan

    29. Juli 2013 um 14:38 Uhr

  • Ich habe 6 oder 7 Antworten ausprobiert, und diese war die einzige, die tatsächlich funktioniert hat.

    – durbnpoisn

    30. August 2015 um 19:44 Uhr

  • Eine kürzere Version wäre: paint.setTypeface(Typeface.DEFAULT_BOLD) anstatt Typeface.create() aufzurufen

    – k2col

    27. November 2016 um 12:59 Uhr


Benutzer-Avatar
Ahamadullah Saikat

Für benutzerdefinierte Schriftarten:

Typeface typeface = Typeface.create(Typeface.createFromAsset(mContext.getAssets(), "fonts/bangla/bensen_handwriting.ttf"), Typeface.BOLD);

Für normale Schriftarten:

Typeface typeface = Typeface.create(Typeface.DEFAULT, Typeface.BOLD);
// or
Typeface typeface = Typeface.DEFAULT_BOLD;

und dann

paint.setTypeface(typeface);

Kotlin-Syntax zum Einrichten von Paint für fetten Text

paint = Paint(Paint.ANTI_ALIAS_FLAG).also { it.typeface = Typeface.DEFAULT_BOLD }

1276310cookie-checkWie zeichne ich fetten Text auf einer Bitmap?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy