android - 在安卓上使用矢量图形

标签 android 2d vector-graphics

我目前正在尝试为 Android 制作一个简单的 2D CAD 类型查看器应用程序。基本上,输入文件包含一堆图元(矩形、直线、圆形、八边形等),目标是以它们提供的任何坐标/大小将它们绘制到屏幕上。

我最初的直觉是使用 Canvas 来绘制这些内容,使用四叉树或一些类似的结构来跟踪在任何给定时间哪些项目将显示在屏幕上。

这里有没有人对更好的实现方法有任何建议(我的图形编程经验很少,因此我什至无法找到 Google 的起点)?

提前致谢

-罗斯

最佳答案

这是一个非常宽泛的问题,所以我的回答只会指向您应该查看的类(class)。

将 surfaceView 扩展为您的 cadView,这样您就可以在主线程之外进行所有计算。

您仍然需要在 Canvas 上绘图。 从 Canvas 上,您可以 getWidth()getHeight() 并使用这些值对您的位置进行基准比较。 Canvas 有一些原始绘图类型,如圆弧、圆、点。 此外,您可以使用 Path 绘制完整的图形、线条、填充、二次等。 对于背景,您可以创建颜色可绘制对象并将其绘制在 Canvas 上。

差不多就是这样。

关于android - 在安卓上使用矢量图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13089606/

相关文章:

android - 无法为类型为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 的对象获取未知属性 'supportLibraryVersion'

c++ - 将二维数组传递给 C++ 中的函数时出错

ios - 如何将矢量图像导入 xcode 8 中的图像资源

java - 如何正确地将地理坐标转换为屏幕上的像素?

输出到 OpenGL(交互式)和 SVG(用于打印)的 Java 库

3d - 如何使用凸轮四元数计算物体相对于相机的方位角和仰角......?

android - 仅在eclipse中打开hello-jni.c文件时在eclipse中编译Hello-Jni失败

android - E/内存轨道 : Couldn't load memtrack Android studio

java - 为 Android 编程时是否需要指定列表的初始大小?

algorithm - 查找另一个点的特定半径内的所有点