gpt4 book ai didi

android - 适用于 Android 的 GPL 兼容图形库

转载 作者:太空狗 更新时间:2023-10-29 13:43:17 25 4
gpt4 key购买 nike

采用类似于 this question 的方法,我正在寻找一种方法将数据点绘制到 Android 中的 View 上。最好是一个库,它可以为任意范围的输入执行此操作,并允许平移和缩放(通过捏合或缩放条)。

现在,我已经子类化了一个执行以下规范化的 View :

            final int width = View.MeasureSpec.getSize(this.widthMeasureSpec);
final int height = View.MeasureSpec.getSize(this.heightMeasureSpec);
final float factorA = width / (maxA - minA);
final float factorS = height / (maxS - minS);
final float constFactorA = factorA * minA;
final float constFactorS = factorS * minS;
final int dataLength = data.length;

for (int i = 0; i < dataLength; ++i) {
if (i % 2 == 0)
_data[i] = _data[i] * factorA - constFactorA;
else
_data[i] = _data[i] * factorS - constFactorS;
}

并在 onDraw() 中调用 Canvas 的 drawPoints 方法(另外,我在 onMeasure() 中更新了 this.widthMeasureSpec 和 this.heightMeasureSpec)。

这是将 minA/maxA 作为我的自变量的界限,将 minS/maxS 作为我的因变量的界限。

这可以很好地显示数据,但我希望其他人已经解决了绘制轴和平移/缩放的问题。

我有大约 150,000 个数据点,我宁愿将它们保留为 float 以节省一半的内存。我不知道 JavaScript 中的十进制数有多大,但我真的不想通过 JavaScript 将数据传递给 Google Charts API 或为了便于内存而使用基于 HTML 的解决方案。

我在 MyTouch 3g(原版,3.5 毫米插孔之前,它是 RAM 升级版)上运行此程序,因此性能是个问题。我想在 GPLv3 下发布最终项目,所以这不包括 GraphView .

图表的类型与 this 相同, 因此通过排除靠得太近而无法显示在屏幕上的点进行任何优化肯定会有所不同。

最佳答案

马尾藻,请检查 android-misc-widgets .它包含一个名为 PlotView 的小部件,其中包含一个示例 TestInterPolator

希望对您有所帮助。

关于android - 适用于 Android 的 GPL 兼容图形库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145324/

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