Нарисуйте прямоугольник на PDF внутри холста, используя PDF. js - PullRequest
0 голосов
/ 04 мая 2020

Я должен нарисовать прямоугольник внутри документа PDF на холсте, но он очищает фон документа. Я хочу, чтобы нарисовать прямоугольник без очистки фона. Пожалуйста, кто-нибудь может мне помочь с этим.

Ниже приведен код, который я использую:

$("#div").mouseover(function () {

    $("canvas").on('click', function (e) {

        console.log(nr)
        id = ($(this).attr("id"));
        console.log(id)
        const baseImage = loadImage("");
        var canvas = document.getElementById(id);
        var ctx = canvas.getContext('2d');
        Canvas = ctx;

        var canvasx = $(canvas).offset().left;
        var canvasy = $(canvas).offset().top;
        var last_mousex = last_mousey = 0;
        var prev_x = prev_y = prev_w = prev_h = 0;
        var mousex = mousey = 0;
        var mousedown = false;


        $(canvas).on('mousedown', function (e) {

            if (rectanglearray.length < 2) {

                last_mousex = parseInt(e.clientX - canvasx);
                last_mousey = parseInt(e.clientY - canvasy);
                mousedown = true;
            }
        });

        $(canvas).on('mouseup', function (e) {

            mousedown = false;

        });
        $(canvas).on('mousemove', function (e) {
            mousex = parseInt(e.clientX - canvasx);
            mousey = parseInt(e.clientY - canvasy);
            if (mousedown) {
                //if (rectanglearray.length < 2) {
                ctx.clearRect(0, 0, canvas.width, canvas.height); //clear canvas
                ctx.beginPath();
                var width = mousex - last_mousex;
                var height = mousey - last_mousey;
                ctx.rect(last_mousex, last_mousey, width, height);
                a = last_mousex;
                b = last_mousey;
                c = last_mousex + width;
                d = last_mousey + height;
                gjer = width;
                lart = height;
                t = a;
                h = b;
                gjere = gjer;
                larte = lart;
                nfq = id.substring(3, 4);
                ctx.strokeStyle = 'black';
                ctx.lineWidth = 1;
                ctx.stroke();

                rectanglearray.push(ctx);
                //}
            }
        });
        execute++;

    });
});

, поэтому, когда я нажимаю на одной из страниц PDF, он принимает идентификатор страницы и позволяет только нарисовать прямоугольник на этой странице, но когда я рисую, он очищает фон.

...