画布绘制文本定位

2024-04-26

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

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);

Paint

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

layoutTextViewContainer holds the edit text. Screen shot for more clarification. Black text is written and Red text is preview of embed in imageenter image description here


得到了解决方案。这些值应该与像素无关 在传递给drawText之前按如下方式转换xPos和yPos

 xPos = (int) (xPos / getResources().getDisplayMetrics().density);
    yPos = (int) (yPos / getResources().getDisplayMetrics().density);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

画布绘制文本定位 的相关文章

  • CursorAdapter 破坏了 CHOICE_MODE_MULTIPLE 选项

    我有一个ListFragment 我在其中添加一个CursorAdapter to my ListView 并且我希望能够单击几行以使用上下文操作栏 我使用 SherlockActionbar 当我使用一个简单的ArrayAdapter 但
  • 用于监听拖动手势的后台应用程序

    我需要注册一个广播接收器 它会告诉我任何类型的信息Drag整个系统的事件 我的应用程序将在后台运行并执行任何任务 如果有 Drag即使任何其他应用程序在前台运行 事件也会发生 是否可以 知道我该怎么做吗 Updates 不要以为我会制作键盘
  • 在 IconPageIndicator 中自定义填充和边距

    我正在尝试实现自定义 IconPageIndicator viewpager 我想自定义 com viewpagerindicator IconPageIndicator 中显示的图标的边距和填充 所以我编写了自定义 IconPageInd
  • 如何在 Android Studio 中使用 git 分支

    我是 git 新手 我有一个非常简单的使用 git 的场景 我的第一个版本是用 Android Studio 编写的 现在我想使用一些新功能 到目前为止我做了什么 在我的 Android Studio 中启用 VCS 从 Android S
  • 空指针异常 - findViewById()

    谁能帮我找出这个程序可能存在的问题 在里面onCreate 方法findViewById 为所有 id 返回 null 这会导致稍后出现空指针异常 我不明白为什么findViewById 找不到视图 有什么建议么 这是主要代码 public
  • 如何生成带logo的二维码?

    我正在为 Android 设备开发应用程序 我想生成带有徽标的二维码 With ZXing I know how to generate simple QR codes like this one But I want to generat
  • 将实时 Android 网络摄像头视频上传到 RTP/RTSP 服务器

    我已经做了适当的研究 但仍然缺乏关于我想要实现的目标的信息 因此 我想编写一个应用程序 用户可以在其中录制视频并立即 实时 将视频上传到 RTP RTSP 服务器 服务器端不会有问题 我不清楚的是如何在手机端实现这一点 到目前为止 我的研究
  • 使用 GestureDetector 时出现 NullPointerException

    下面是在发生不同事件时加载两个不同图像的帧动画的代码 第一个事件是在活动开始时 其他的是onTouch 我在哪里利用GestureDetector为了onDown and onScroll 问题是我得到NullPointerExceptio
  • com.google.android.gms.games.GamesClient 无法解析

    我正在尝试使用 google play 游戏服务开发实时多人游戏 并下载了示例 ButtonClicker2000 但 Eclipse ADK 一直抱怨 com google android gms games GamesClient 无法
  • 带 LiveData 的嵌套观察者(观察观察者)

    我有一个案例 我有 BottomNavigationView 其中片段被显示 隐藏而不是添加 替换 因此它们不会每次都经历生命周期 片段1正在观察一个数据库表 片段2正在观察一个不同的 我的目标是调用 onChanged片段2当 on 改变
  • 如何允许另一个应用程序访问我的应用程序的数据目录?

    假设我有一个名为 A 的应用程序 其数据目录为 com example test 现在我想制作另一个名为 B 的应用程序来修改 com example test 中的某些内容 当然我知道两者必须共享相同的签名 但我还需要什么 基本上我正在尝
  • Android 是否可以获取用户和设备所在国家/地区的货币代码?

    是否可以获取用户和设备所在国家 地区的货币代码 我想将用户当前国家 地区的国家 地区代码设置为默认国家 地区 我们在 Android 中有解决方案吗 由于这段代码可能对您有帮助 public class CurrencyTest publi
  • 在 Android 谷歌地图中绘制 4K 折线

    我现在正在开发一个适用于 Android 设备的应用程序 主要功能是在地图上绘制折线以显示城市中每条街道的交通情况 不幸的是 当我绘制大约 3K 折线时 数量会根据屏幕尺寸和缩放级别而减少 我的地图变得非常慢 我没有提及绘制所有线条的时间
  • android应用程序在模拟器上运行但在手机上运行

    我有我开发的这个应用程序 它在模拟器上运行得很好 没有任何错误 但当我尝试在手机上运行相同的代码进行测试时 应用程序崩溃并提示 filenotfoundexception 它说文件 res drawable divider horizo n
  • 如何检查 firebase 中是否存在孩子? [复制]

    这个问题在这里已经有答案了 我有一个 firebase 它有一个名为 users 的节点 用户给出一个用户名 我想检查该用户名是否已作为用户节点的子节点存在 这是我目前正在尝试的代码 平台是安卓 String myUsername user
  • Android - 使用 HttpURLConnection 来 POST XML 数据

    我遇到了一些死胡同 需要一些帮助 请 我对 Android 开发 以及一般编码 非常陌生 基本上我需要使用 HttpURLConnection 将 XML 数据发布到 URL 但无法让它工作 我的应用程序从 GET 请求读取并传递 XML
  • Activity 在 Android 上创建两次

    首先 我是 Android 开发新手 所以请耐心等待 我将从用户界面开始 我有一个按钮 一旦您点击它 就会启动一个活动以获取结果 public class GUIActivity extends Activity Override publ
  • 如何在 Android 上从后台线程显示 Toast?

    我怎样才能显示Toast http developer android com guide topics ui notifiers toasts html来自线程的消息 您可以通过调用Activity s runOnUiThread您线程中
  • 需要在 Android 应用程序卸载期间执行一些活动

    我正在开发一个应用程序 如果用户卸载该应用程序 我需要登录该应用程序 所以我正在遵循这种方法应用程序如何检测到它将被卸载 https stackoverflow com questions 18692571 how it works war
  • Android 6.0.1 无法以编程方式启用 wifi 热点

    当我尝试通过以下代码启用 wifi 网络共享时 它会抛出异常 com java lang reflect Method invoke Native Method 处的 java lang reflect InitationTargetExc

随机推荐

  • 使用PHP通过FTP递归扫描目录和子目录

    我正在尝试创建目录中所有文件 及其大小 的列表 包括子目录中的所有内容 这些文件位于远程服务器上 所以我的脚本通过 FTP 连接 然后使用以下命令运行递归函数ftp chdir浏览每个目录 如果有其他方法可以做到这一点 我愿意接受建议 fl
  • 停止pandoc自动添加id

    我在用Pandoc对Markdown的扩展 http pandoc org MANUAL html pandocs markdown来生成 HTML 以下降价 test specificId test2 test3 生成以下 html h1
  • 如何使用 Xerces 同时使用 Maven 从 XSD 1.1 生成源

    我有一个带有断言标签的 XSD 文件 我读到 Xerces 支持带有这些标签的 XML Schema 1 1 草案 如何在我的 Maven 构建中使用实际的 Xerces 版本 而不是标准 Java 实现 使用 Xerces 版本的一种旧方
  • config_cache_enabled 错误

    使用 Zend 框架 2 1 当我设定 config cache enabled gt true在我的里面application config php 它返回以下错误 Warning var export does not handle c
  • 使用 SessionBean EJBObject 和 EJBHome 接口创建 EJB

    我对创建 EJB 感到困惑 我在互联网上看到了许多 EJB 示例 也看到了使用 SessionBean EJBObject 和 EJBHome 接口开发 EJB 的示例项目 在其他一些示例中 EJB 是在没有这些接口的情况下创建的 并且仅使
  • 如何获取数组中每个数字的阶乘值?

    我试图使用此方法获取数组中每个项目的阶乘值 但这仅输出一个值 任何人都可以帮助我找出我做错的地方吗 function mathh arr fn for i 1 i lt sizeof arr i arr2 arr2 i fn arr i r
  • 如何在 Jackson 和 Gson 之间转换日期?

    在我们的 Spring 配置的 REST 服务器中 我们使用 Jackson 将对象转换为 Json 该对象包含几个 java util Date 对象 当我们尝试使用 Gson 的 fromJson 方法在 Android 设备上反序列化
  • 如何在CSS中捏住一行的中间

    我正在尝试制作一条看起来几乎在末端有衬线的线条 本质上 我想让它在最末端变宽 在中间变细 只需使用 css 这实际上被证明是一个相当大的挑战 任何帮助 将不胜感激 到目前为止 我已经能够了解我想要如何使用 after伪选择器 但顶部没有运气
  • 如何使用shoulda匹配器来测试多态关联?

    我正在使用带有rails的shoulda matchers 并创建一个名为 comments 的模型和另一个名为 post 的模型 评论是多态的 当我在这样的帖子中使用 shoulda 匹配器进行测试时 it should have man
  • 导入错误:没有名为“编码”的模块

    我最近重新安装了ubuntu并升级到16 04并且无法使用python python manage py runserver Could not find platform independent libraries
  • 将 Azure CDN 与共享访问签名结合使用

    我正在尝试合并 Azure 来存储应用程序的大部分文件 我想将这些文件上传到 azure 中的私有容器和私有 blob 并通过 Azure CDN 将这些上传内容复制到所有其他节点 仍然作为私有容器和 blob 然后 我希望我的应用程序向存
  • “from Six.moves import urllib”在 Python 中做什么?

    我在 Python 代码中发现了以下行 from six moves import urllib 同时 我可以找到urllib py任何地方 我发现有一个文件six py在包根目录中 它有class Module six moves url
  • 在 R 中查找观察值之间的时间差

    我正在尝试确定两次观察之间的时间差 数据由不同的个人分解 每个人都有自己唯一的 ID 我有一个数据集 它告诉我每次状态发生变化时他们的状态会更新什么 以及他们的状态何时发生变化 状态可以是两个值之一 并且它总是更改为它不是的值 在本例中 从
  • C# 中的可选数组参数[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中传递一个空数组作为可选参数的默认值 https stackoverflow com questions 3480382 passing an empty array as default v
  • 比特币客户端如何确定第一个连接的IP地址?

    据我所知 比特币是一种 p2p 协议P2P协议必须有一个专用的中央服务器 https stackoverflow com questions 310607 peer to peer methods of finding peers 但据说比
  • 如何完善这个FTP(shell)功能?

    我有大量使用以下函数的脚本 Copies files over using FTP Configurations set at the beggining of the script param 1 FTP Host 2 FTP User
  • 如何在 swiftui 中使用 .quickLookPreview 修饰符

    我正在尝试使用视图修饰符 quickLookPreview在 iOS 14 macOS 11 macCatalyst 14 中引入 但我收到此错误Value of type some View has no member quickLook
  • 在 Firefox 上使用 popState 平滑滚动和返回按钮 - 需要单击两次

    我正在尝试实现一个小代码 当我单击锚点时 并且锚点名称出现在动画之后 我可以使用它实现平滑滚动 并且如果我按下浏览器的后退按钮 我想返回到页面顶部并更新 URL 不带 anchor 名称 这是代码 function Smooth scrol
  • 无法更新 Android Studio 中的 JDK 位置

    我无法在 Android Studio 中更新 Java JDK 或 Android SDK 路径 要更新默认的 JDK 或 Android SDK 打开Android Studio 转到快速启动 gt 配置 gt 项目默认值 gt 项目结
  • 画布绘制文本定位

    我正在创建一个绘图工具 用户可以在其中向图像添加文本 当通过画布位置将文本绘制到位图时 未正确设置 Paint paint new Paint paint setStyle Paint Style FILL paint setColor C