Использование Path.lineTo для увеличения на десятичную ось X

1

Я хочу нарисовать сигнал с использованием метода 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);

Однако я хотел бы масштабировать график так, чтобы каждое движение по оси х было только на 1/5 от оси у, так что длина сигнала эффективно раздавливалась ужасно. Можно ли это сделать, просто используя поплавки, как-то мне нужно на самом деле создать более крупный холст и масштабировать его там?

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

Теги:
floating-point
canvas
scale
bitmap

1 ответ

2
Лучший ответ

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

  • 0
    Да, конечно, извините, что был глуп и просто пытался сделать вещи намного сложнее, чем они должны были быть. На самом деле мне просто нужно было разделить m на 5 для координаты x в path.lineTo. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню