如何在位图android的角落绘制文本

问题描述 投票:0回答:1

我有一个位图,我试图在右上角的位图上绘制一个文本。但首先,我无法在其上绘制任何文字。我正在将布局转换为位图,然后尝试在其上绘制文本。但它没有成功。这是我的代码:

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;
    }
android android-canvas android-bitmap
1个回答
3
投票

请注意文字位置和对齐方式。

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.