其他分享
首页 > 其他分享> > android – Canvas drawtext定位

android – Canvas drawtext定位

作者:互联网

我正在创建一个绘图工具,用户可以在其中添加文本到图像.通过画布位置将文本绘制到位图时,未正确设置.

Paint paint = new Paint();
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.RED);
        paint.setTypeface(tf);
        paint.setTextAlign(Paint.Align.LEFT);

        paint.setTextSize(30);



int xPos = layoutTextViewContainer.getLeft();
        int yPos = layoutTextViewContainer.getTop();
        canvas.drawText(text, xPos, yPos, paint);

涂料

Rect textRect = new Rect();
        paint.getTextBounds(text, 0, text.length(), textRect);
        textRect.offset(0, -textRect.top);
        Canvas canvas = new Canvas(bm);

layoutTextViewContainer保存编辑文本.
屏幕截图以获得更多说明.
写入黑色文本,红色文本是嵌入图像的预览

解决方法:

得到了解决方案.值应该与像素无关
在传递给drawText之前,将xPos和yPos转换为如下所示

 xPos = (int) (xPos / getResources().getDisplayMetrics().density);
    yPos = (int) (yPos / getResources().getDisplayMetrics().density);

标签:android,android-canvas,drawtext
来源: https://codeday.me/bug/20190628/1320772.html