gpt4 book ai didi

Android Canvas 位图大小和测量

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:29 25 4
gpt4 key购买 nike

我有一个正在 Inkscape 中编辑的 PNG 图像。它是一个不规则的、锯齿状的形状,但我需要用它做碰撞检测。它太大了,不能在它周围做一个粗略的矩形(它占用的空间比标准手机屏幕还多)。所以我一直在 INkscape 中围绕它画矩形,并记下这些矩形的像素尺寸。

我的 Intent 是使用这些“虚构”矩形的联合来进行碰撞检测。然而,我的努力遇到了障碍。手机上图像的默认大小似乎与 Inkscape 中的不同。

我想知道对大型不规则物体进行碰撞检测的最佳方法,和/或如何使 Canvas 位图测量与其像素(或毫米)测量相同。

最佳答案

我建议做的是创建一个等效图像,其中您定义了值为 1 的碰撞区域,以及值为 0(或 0 和 255)的非碰撞区域。

因此,您将有两个图像,一个是您要显示的彩色图像,另一个是您要加载的碰撞图像。

然后,您可以检测您是否在碰撞区域内:

Bitmap collision;
collision = BitmapFactory.decodeStream(...yourImage...);
collision.getPixel(x,y)

另一个解决方案是创建两个阵列后处理碰撞图像,你可以创建一个 Java 应用程序来处理你的原始图像并创建一个包含两行的文本文件,第一行是 x 坐标,第二行是对 y 坐标。

然后,在您的 Android 应用程序中读取此文件,如果您的 x 和 y 存在于此数组中,则为碰撞点。

关于Android Canvas 位图大小和测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com