我想使用 path.linTo 方法和 for 循环绘制信号波形,如下所示。
public void drawSignal(Canvas c, PointF pos) // draws the signal onto the Canvas for each of the 12 channels
{
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStyle(Style.STROKE);
Path path = new Path();
for (int i=0; i<ECGFilereader.numChannels; i++){
path.moveTo(wavePos[i].x, wavePos[i].y);
for (int chan = 0; chan<ECGFilereader.numChannels; chan++)
for (int m = 0; m < ECGFilereader.numSamples; m++){
path.lineTo(m+wavePos[i].x, signal[chan][m]+wavePos[i].y);
}
}
c.drawPath(path, paint);
不过,我想缩放图形,使 x 轴上的每次移动仅为 y 轴移动的 1/5,从而有效地水平压缩信号的长度。是否可以通过简单地使用 float 来做到这一点我需要实际创建一个更大的 Canvas 并在那里缩放它吗?
在此先感谢您的帮助。
最佳答案
错误,在 path.moveTo 和 path.lineTo 中要么将 y 分量乘以 5,要么将 x 分量除以 5?
关于android - 使用 Path.lineTo 在 x 轴上增加一个小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148317/