Как нарисовать текст в углу растрового Android - PullRequest
0 голосов
/ 27 августа 2018

У меня есть растровое изображение, и я пытаюсь нарисовать текст поверх растрового изображения в верхнем правом углу. Но, во-первых, я не могу нарисовать текст поверх него. Я преобразовываю макет в растровое изображение, а затем пытаюсь нарисовать текст поверх него. Но это не работает. Вот мой код:

private Bitmap viewToBitmap(LinearLayout layout) {
        Bitmap bitmap = Bitmap.createBitmap(layout.getWidth(), layout.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        layout.draw(canvas);
        canvas=new Canvas(bitmap);
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setAntiAlias(true);
        paint.setTextSize(14.f);
        paint.setTextAlign(Paint.Align.CENTER);
        canvas.drawText("Hello Android!", 0, 0, paint);
        return bitmap;
    }

1 Ответ

0 голосов
/ 27 августа 2018

Обратите особое внимание на положение и выравнивание текста.

private Bitmap viewToBitmap(View view)
{
    Bitmap result = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(result);
    view.draw(canvas);

    Paint paint = new Paint();
    paint.setColor(Color.BLACK);
    paint.setAntiAlias(true);
    paint.setTextSize(14);
    paint.setTextAlign(Paint.Align.RIGHT);
    canvas.drawText("Hello Android!", view.getWidth(), 14, paint); // draw watermark at top right corner
    return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...