Path.offset() 不适用于所有设备

2024-01-10

我的 android.graphics.path 有一些问题。
我正在开发一个游戏。我有一些路径。它们不会改变尺寸、形状。我把它们画到画布上。我在每个游戏的框架中移动它们。所以我设置了一个偏移量:dx

它在许多设备上运行良好:

  • 诺基亚 X Dual Sim(Android 4.4.4 Cyanogen 模式)(API 级别 19)
  • 三星 Galaxy Duos (GT-S7562)(Android 4.0.4)(API 级别 15)
  • 索尼 X8(Android 2.3.7 Cyanogenmode)(API 级别 10)
  • 以及其他一些

但它在其他一些设备上效果不佳:

  • 三星 Galaxy Ace II (Android 4.1.2)(API 级别 16)
  • Nokia X Dual Sim(Nokia X 平台 1.2)(Android Studio 显示:API 级别 16)
  • 以及其他一些 我在绘制方法中设置了偏移量:

    路径.offset(dX, 0);

不工作意味着:它不移动。系统将其拉至原始位置。
但当它起作用时,它会下降(移动,而且速度很快)

我也尝试过矩阵:

translateMatrix = new Matrix();
translateMatrix.setTranslate(dX, 0);
path.transform(translateMatrix);

同样的事情也发生了。

我在 Android 开发者网站上看到一些内容:http://developer.android.com/reference/android/graphics/Path.html http://developer.android.com/reference/android/graphics/Path.html
无效偏移量(浮点dx,浮点dy)
将路径偏移 (dx,dy),成功时返回 true。
???它一定已经改变了,这就是为什么这里有一个错误

它可能与硬件加速模式有关:
https://groups.google.com/forum/#!topic/android-developers/HgGVSbSghpk https://groups.google.com/forum/#!topic/android-developers/HgGVSbSghpk

我从 Api 级别 9 开始支持,但我转向了硬件加速模式。 (适用于 API 级别 14)
当我关闭它时,问题也会出现。
我不明白为什么它有时可以在 API 级别 14 上工作,有时却不能?

上面说,硬件加速模式支持Path:
http://android-developers.blogspot.de/2011/03/android-30-hardware-acceleration.html http://android-developers.blogspot.de/2011/03/android-30-hardware-acceleration.html

你知道这有什么问题吗?我应该怎么办?

更混合的东西:这适用于所有设备(但运行速度较慢 - 它滞后):

Canvas temp = new Canvas(bitmap);
path.draw(temp);
originalCanvas.drawBitmap(bitmap, 0, 0, myPaint);

So

  1. 我做了一个临时画布
  2. 我把它设置在位图上
  3. 我在画布上绘制(它将位于位图上)
  4. 我将位图绘制到原始画布上

为什么它在这里起作用?

请帮助我应该如何让它发挥作用。


我让它工作了,但没有偏移

我制作了自己的偏移函数:

  1. 它保存最后的位置,并用以下值计算新的位置: 抵消。
  2. 然后它创建一个新的路径而不使用operator new

    计算新点();
    wallpath.rewind();
    wallpath.move To(new PostT, newPosT);
    .
    .
    .
    墙路径.close();

它表现良好:)

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

Path.offset() 不适用于所有设备 的相关文章

  • 我应该如何缓冲绘制的矩形以提高性能(C#/.NET/WinForms/GDI+)

    我在做什么 我正在开发一个 C NET 4 7 2 WinForms 应用程序 它使用以下命令在表单上绘制大量填充矩形Graphics FillRectangle https learn microsoft com en us dotnet
  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • 让协程等待之前的调用

    我还没有完全掌握 Kotlin 协程 基本上我希望协程在执行之前等待任何先前的调用完成 下面的代码似乎可以工作 但它正在做我认为它正在做的事情吗 private var saveJob Job null fun save saveJob s
  • 如何在 Android TextView 中使用土耳其语字符,如“ş ç ı ö”?

    我想在 android TextView 中写入 ile 但它没有正确绘制 怎样才能使用这样的字符呢 例如 我将文本视图设置为 ile 它显示为 ile 我怎样才能解决这个问题 尝试以下方法 看看是否有帮助 source http grou
  • 如何访问android库项目中的资源

    我正在构建一个 android 库项目 它内部需要一些静态资源 图像 xml 等 然后我想知道我可以把这些资源放在哪里以及如何访问它们 既然我把资源放到了assets文件夹 我使用 AssetManager 来访问资源 public cla
  • Android:我可以创建一个不是矩形的视图/画布吗?圆形的?

    我有一个圆形视图 悬停在主要内容上方 gt 从屏幕出来的 z 轴方向 当有人点击屏幕时 我希望选择主要内容或悬停在上方的视图 当它覆盖主视图时 到目前为止效果很好 我在透明画布上有一个圆形物品 这意味着您可以看到该圆圈之外的背景的所有内容
  • android中根据屏幕尺寸计算图像尺寸

    我正在尝试根据屏幕尺寸计算图像高度和宽度 我从后端获取 5 x 7 尺寸的图像 为了将像素乘以 72 进行转换 我有 360 X 504 尺寸的图像 对于 360 X 504 我的动态透明矩形区域将显示为 1 223 x 1 179 即 8
  • 不变违规:requireNativeComponent:在 UIManager 中找不到“RNSVGSvgViewAndroid”

    我对标题中提到的错误感到头疼 我正在使用react native gifted charts https www npmjs com package react native gifted charts v 1 0 3 https www
  • 如何向开发人员发送崩溃报告?

    我开发 Android 应用程序 但在某些情况下我的应用程序force close 如果出现以下情况 我如何向开发人员发送包含详细信息的电子邮件force close随时发生 The ACRA https github com ACRA a
  • 我想从 android 中服务器的视频 url 创建缩略图

    My code public static Bitmap retriveVideoFrameFromVideo String videoPath throws Throwable Bitmap bitmap null MediaMetada
  • Emma 不生成coverage.ec

    我设置了艾玛 它曾经对我有用 然后我们更改了源代码 现在它没有生成coverage ec根本不 它确实生成coverage em 测试临近结束时 出现错误消息 exec INSTRUMENTATION CODE 0 echo Downloa
  • 适用于 Android 的 Google 云端硬盘\文档 API

    我在几个小时内将 Dropbox 与我的应用程序集成 因为 SDK 描述清晰并且有很好的使用示例 Google Drive 似乎只有一个 一刀切 的 Gdata SDK 它非常重 有很多依赖项 它使我的应用程序的大小增加了三倍 而且不是很直
  • android textview 有字符限制吗?

    我正在尝试在 android TextView 中输入超过 2000 3000 个字符 它不显示任何内容 任何一份指南是否对 android textview 有字符限制或什么 我在G3中做了一些小测试 我发现 如果activtiy布局中有
  • TextInputLayout 对于在 EditText 中以编程方式给出提示没有效果

    我有一个 EditText 它的父级是 TextInputLayout 我试图以编程方式为 EditText 提供提示 不在布局中 在这种情况下 文本输入提示动画不起作用 它像简单的 EditText 一样工作 有人可以建议如何处理它吗 下
  • SDK >=26 仍需要 mipmap/ic_launcher.png?

    在 Android 中 有两种指定启动器图标 可以说是应用程序图标 的方法 老 方式 在 mipmap 文件夹中指定不同的 png 文件 通常命名为 ic launcher png 但可以通过以下方式设置名称android icon mip
  • Android Root 执行 su 带参数

    我在使用参数执行 su 时遇到问题 包含空格 我的 Command java 看起来像这样 public class Command Process process public String executeCommand String c
  • 无法使用文件提供程序从内部存储打开 PDF 以便在 Android 8 和 9 上查看

    仅适用于 Android 8 和 9 我这里有一个 PDF 文件管理器 String url file storage emulated 0 Android data com verna poc files Download mypdf p
  • Flash 对象未显示在phonegap android 中

    我已经在 android 手机间隙创建了一个应用程序 我有一个屏幕 我想显示一个静态 flash obj 所以我在屏幕 HTML 页面中放入了以下代码
  • R.java是手动修改的!恢复到生成的版本

    我在布局中添加了一个 xml 文件 之后这个错误就来了 但问题是我还没有接触过 R java 文件 现在 在我的新活动中 我要将其内容视图设置为我新创建的 xml 文件 但是当我执行 R layout 时 新创建的 xml 不会出现在建议中

随机推荐

  • 在办公室 LAN 上设置 xampp 服务器

    我希望在小型办公室内使用 xampp 设置服务器 我当然会保护 xampp 但为了使我的 web 应用程序可供网络上的其他 4 台电脑使用 我是否只创建一个虚拟主机 有没有办法确保只能在局域网上访问Web应用程序 当前设置包括 4 台计算机
  • OpenGL 旋转

    我正在尝试在 OpenGL 中进行简单的旋转 但一定没有抓住重点 我并不是在寻找具体的修复方法 而是在寻找快速解释或更普遍地解释 OpenGL 旋转的链接 目前我有这样的代码 glPushMatrix glRotatef 90 0 0 0
  • 使用 Hadoop MapRed 排序

    Well 我想知道如何在reduce 任务之后更改简单WordCount 程序的排序顺序 我已经制作了另一个按值排序而不是按键排序的映射 但它仍然按升序排序 有没有一种简单的方法可以做到这一点 更改排序顺序 谢谢 韦洛佐 如果您使用的是旧版
  • Android Work Manager - Work Manager 是否能 100% 确保后台执行完成?

    根据我从文档中读到的内容https developer android com topic libraries architecture workmanager https developer android com topic libra
  • 如何限制pyqt中QLineEdit中的用户输入

    我有一个QLineEdit我想限制QLineEdit仅接受整数 它应该像输入掩码一样工作 但我不想用inputmask 因为如果用户点击QLineEdit光标将位于鼠标单击的位置 用户需要导航到 0 位置并输入他想要的内容 有没有什么替代方
  • 如何在 SQL Server 2012 中设置每周自动备份?

    请建议我如何在 SQL Server 2012 中设置自动数据库备份 我需要对 SQL Server 中的所有数据库 目前仅包含 3 个 进行每周自动备份 该备份在每周五 0100 点 凌晨 1 点 运行 这些备份文件 bak 应放置在 E
  • Swift NSScriptCommand 执行默认实现

    我在 Objective C 中使用了这段代码 implementation KDOrderInfo id performDefaultImplementation NSString theRequest self directParame
  • 使用 MailKit 和 Gmail OAuth 发送邮件

    我正在尝试创建一个应用程序 在客户购买时向他们发送电子邮件 我们有自己的 GMail 帐户 我将用它来发送电子邮件 我已经设置了我的应用程序并在 Google API 控制台中创建了凭据 我发现这个问题 https github com j
  • 如何调用API(Oauth 1.0)?

    我试图调用这个API Oauth1 0标准 https appcenter intuit com api v1 Connection Reconnect https appcenter intuit com api v1 Connectio
  • C/C++宏嵌套替换逻辑

    我正在尝试实现 C C 兼容的宏处理 我可以正确处理许多极端情况 包括此处讨论的情况 了解宏间接扩展自身时 C 预处理器的行为 https stackoverflow com questions 66593868 understanding
  • UITableView 单元格重叠

    我正在实现一个带有部分索引的 tableView 每当任何特定部分中的行超过一行时 我的 tableViewCell 就会重叠 这是我的代码 NSInteger numberOfSectionsInTableView UITableView
  • Asp.net MVC 编辑器出现“类型‘System.Object’是在未引用的程序集中定义的”错误

    using Html BeginForm Index Employees FormMethod Post new encType multipart form data name EmployeeForm table class table
  • 在 glass 应用程序中创建“ok glass”样式菜单

    我刚刚开始为 Google Glass 进行开发 并且我知道 GDK 相当新 所以这可能还不可能 但我正在尝试 与 okay glass 屏幕上的 拨打电话 提示或 发送消息至 提示一样 我希望我的应用程序在您使用语音选择时具有更多语音选择
  • 如何使用 ASP.NET MVC、WebAPI 和 MEF 正确确定每个请求的组合范围

    我最近使用各种资源 包括此 SO 答案 将 MEF 添加到 MVC WebAPI 应用程序如何将 MEF 与 ASP NET MVC 4 和 ASP NET Web API 集成 https stackoverflow com questi
  • 自动将 vs2005 调试器附加到子进程

    我有一个在 Visual Studio 2005 中构建的主要 C 应用程序 名为 A exe 它生成一个子进程 B exe 我通过按 F5 在调试器中运行进程 A 我知道在进程 B 中命中断点的唯一方法是等待 A 启动它 然后运行 调试
  • Android 找不到类“android.app.job.JobScheduler”

    我在使用选项构建 apk 文件时不断收到此错误minifyEnabled true 应用程序构建过程和安装已成功 但无法启动并出现此错误 我已经厌倦了寻找班级图书馆 我对Android应用程序开发不太熟悉 请帮助我 错误堆栈跟踪 05 11
  • Spark Streaming:输入速率和文件流 [0] 始终具有“平均:0.00 个事件/秒”

    我正在使用 Spark 1 5 2 运行 代码如下 它定期正确打印计数 但在 Spark Streaming UI 中 输入速率和文件流 0 始终具有 平均 0 00 个事件 秒 注意 每个文件包含一行 其中包含 json 字符串 我也尝试
  • Python defaultdict 和 lambda

    在别人的代码中我读到了以下两行 x defaultdict lambda 0 y defaultdict lambda defaultdict lambda 0 由于defaultdict的参数是默认工厂 我认为第一行意味着当我为不存在的键
  • 重新启动 apache 时出现“make_sock:无法绑定到地址 [::]:443”(安装 trac 和 mod_wsgi)

    我正在尝试通过 SSL 安装 trac 和 mod wsgi 我尝试手动安装它 但效果不太好 所以我开始遵循以下步骤 ubuntu 上的 trac http robertbasic com blog trac on ubuntu 我跳过了
  • Path.offset() 不适用于所有设备

    我的 android graphics path 有一些问题 我正在开发一个游戏 我有一些路径 它们不会改变尺寸 形状 我把它们画到画布上 我在每个游戏的框架中移动它们 所以我设置了一个偏移量 dx 它在许多设备上运行良好 诺基亚 X Du