我正在尝试在android中创建一个实时图表实用程序,并且在大多数情况下它可以工作,除了当我在其中一个路径中获得太多数据点时它会破坏openGL.我正在使用路径,因为当传入的值超出图形的当前边界时,我正在通过矩阵转换整个数据集.我是以错误的方式来做这件事的吗?是否有更好/更合适的API用于此类事情?如果可能/我知道怎么做,我会很高兴修剪当前界限的路径.谢谢!
onDraw有:
@Override
protected void onDraw(Canvas canvas) {
scaleX = getWidth() / (maxX - minX);
scaleY = getHeight() / (maxY - minY);
// TODO: Use clips to draw x/y axis, allow color to be defined in attributes, etc.
canvas.drawColor(0xFF000000);
for (DataLine line : mPathList.values()) {
canvas.drawPath(line, line.getPaint());
}
}
Run Code Online (Sandbox Code Playgroud)
(DataLine是Path的子类,包含Paint对象)
有问题的错误是来自OpenGLRenderer的警告:"形状路径太大而无法渲染到纹理中"