Рисовать текст на холсте в Android - PullRequest
1 голос
/ 03 февраля 2012

Я хочу рисовать текст внутри холста (автоматическое добавление новых строк при необходимости).Вот мой пример кода:

    Bitmap src= getBitmap();
    Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas cs = new Canvas(dest);
    cs.drawBitmap(src, 0f, 0f, null);
    TextPaint tp= new TextPaint();
    tp.setTextSize(.....);
    tp. //Custom the text properties
    StaticLayout sl= new StaticLayout(text, tp, src.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0f, 0.0f, false);
    sl.draw(cs);

это прекрасно работает для рисования текста с "center | top" гравитацией.Но мне нужно было бы сделать «центр | центр» и «центр | дно».Учитывая холст src и sl , легко вычислить, куда должен идти sl, но как я могу изменить «начальную точку» для StaticLayout, чтобы добавить его отступ?

Спасибо

1 Ответ

2 голосов
/ 03 февраля 2012

Вы можете дать StaticLayout / DynamicLayout больше места в аргументе "width", чтобы получить отступы сверху / снизу вашего текста, вы можете использовать "canvas.translate (x, y)"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...