如何在Android中巧妙地绘制复杂形状

如何在Android中巧妙地绘制复杂形状,android,graphics,android-canvas,Android,Graphics,Android Canvas,我正在做一个大学项目,在这个项目中,我需要在智能手机上可视化鞋垫内置压力传感器的数据。 我需要画一个视图,作为背景,一个脚印,类似下面的图片,但只画一只脚 我不想使用静态图像,因为使用不同的屏幕分辨率,它可能会失去太多的质量,所以我尝试通过代码来实现。 主要的问题是,我不是很擅长图形编程,所以我没有一个聪明的方法来解决这个问题 我的第一个也是唯一一个想法是采用鞋垫的CAD表示法和真实尺寸,按照屏幕的功能进行缩放,并使用Android中提供的简单形状(圆弧、圆、ecc…)将其组合在一起。 通过这种

我正在做一个大学项目,在这个项目中,我需要在智能手机上可视化鞋垫内置压力传感器的数据。 我需要画一个
视图
,作为背景,一个脚印,类似下面的图片,但只画一只脚

我不想使用静态图像,因为使用不同的屏幕分辨率,它可能会失去太多的质量,所以我尝试通过代码来实现。 主要的问题是,我不是很擅长图形编程,所以我没有一个聪明的方法来解决这个问题

我的第一个也是唯一一个想法是采用鞋垫的CAD表示法和真实尺寸,按照屏幕的功能进行缩放,并使用Android中提供的简单形状(圆弧、圆、ecc…)将其组合在一起。 通过这种方式,我创建了一个
路径
,一旦我用
画布
绘制它,它将构成整个足迹

这种方法可以让我完成工作,但很糟糕,需要大量的工作和时间来设置每个部分。 我搜索了一些类似的问题,但没有找到任何解决问题的方法

有没有(当然有)更聪明的方法来做这件事,节省时间和精力

谢谢

当然,您可以随时使用open gl es

此方法可能不会节省您的时间和精力,但会为您提供更好的图形和范围,以便在以后进行改进

这个概念是用你鞋子的所有点创建一个浮动缓冲区,然后在
surfaceView

要开始使用open gl es,您可以使用本教程:


下面是一个例子:

Android支持.SVG(可缩放矢量图形)文件。也许可以尝试在一些免费编辑器(谷歌搜索“svg编辑器”)中绘制鞋垫,下载文件,将其添加到项目中,然后使用.svg鞋垫图像资源的ID在视图中调用.setBackgroundResource(..)。如果我错了,请纠正我:我需要用一系列点(例如100)来近似鞋类然后用线把它们连接起来。如果我以这种方式理解了,我只需要为每个点检索一对坐标。是吗?嗯,是的。。一条线(比如一条开放的gl es线)需要2个点来绘制一条线,每个点有2个轴(x和y)。你不必对图形上的每一点都精确地绘制。例如,如果图形的某些部分已经有了弦线形状,你可以很容易地绘制这些部分,而对于曲线,有一种方法可以仅用直线绘制一个圆或任何圆弧…搜索这些。。