Использование Path.lineTo для увеличения на десятичную ось X - PullRequest
1 голос
/ 22 августа 2011

Я хочу нарисовать форму сигнала, используя метод 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составляет только 1/5 от оси y, так что длина сигнала эффективно сжимается по горизонтали.Можно ли сделать это, просто используя поплавки, как мне нужно, чтобы создать холст большего размера и масштабировать его там?

Заранее благодарен за любую помощь.

1 Ответ

2 голосов
/ 22 августа 2011

err, либо умножьте y-компоненты на 5, либо разделите x-компоненты на 5 как в path.moveTo, так и в path.lineTo?

...