首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帆布图文定位

帆布图文定位
EN

Stack Overflow用户
提问于 2014-08-07 07:14:13
回答 2查看 10.3K关注 0票数 4

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

代码语言:javascript
复制
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);

涂料

代码语言:javascript
复制
Rect textRect = new Rect();
        paint.getTextBounds(text, 0, text.length(), textRect);
        textRect.offset(0, -textRect.top);
        Canvas canvas = new Canvas(bm);

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

EN

回答 2

Stack Overflow用户

发布于 2014-08-07 08:29:34

找到解决办法了。在传递到xPos之前,这些值应该是独立于像素的,转换如下所示的yPos和drawText

代码语言:javascript
复制
 xPos = (int) (xPos / getResources().getDisplayMetrics().density);
    yPos = (int) (yPos / getResources().getDisplayMetrics().density);
票数 2
EN

Stack Overflow用户

发布于 2014-08-09 05:14:58

更好的做法是使用绘图缓存并将其保存到任何文件位置。在这种情况下,我们不必为定位而费心。将所有布局封装在一个布局中,然后获取

代码语言:javascript
复制
 view.getDrawingCache()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25176321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档