jspdf: как обрезать область / фигуры?

Я пытаюсь нарисовать фигуры и линии в ограниченной области.

http://raw.githack.com/MrRio/jsPDF/master/docs/jsPDF.html#clip

В документации говорится, что есть метод clip (), но как я могу этого добиться? И после того, как я обрезал фигуры, можно ли снова рисовать за пределами области обрезки? (так что обратно в норму)

Ясный пример будет оценен по достоинству. Спасибо.

Я использую jspdf в сочетании с jspdf-autotable.


person wackowizzard    schedule 02.11.2020    source источник


Ответы (1)


После некоторых проб и ошибок я нашел решение:

    pdf.saveGraphicsState(); // pdf.internal.write('q');
    
    // draw clipping objects
    pdf.rect(0, 0, 100, 100, null); // important: style parameter is null!
    pdf.clip();

    // draw objects that need to be clipped
    pdf.setFillColor('#f54f44');
    pdf.rect(0, 0, 100, 100, 'F');

    pdf.setFillColor('#54ff54');
    pdf.rect(50, 50, 100, 100, 'F');

     // restores the state to where there was no clipping
    pdf.restoreGraphicsState(); // pdf.internal.write('Q');

    // these objects will not be clipped
    pdf.setFillColor('#001100');
    pdf.rect(80, 80, 100, 100, 'F');

person wackowizzard    schedule 02.11.2020