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