Ionic2 Signature Pad изменить размер изображения

Снимаю изображение через камеру и сохраняю его в блокнот для подписи. Изображение занимает определенную часть на панели для подписи. Как изменить размер изображения до размера панели для подписи.

Вот скриншот изображения после его сохранения в блокнот для подписи. Серая часть — это блокнот для подписи. Изображение находится в верхнем левом углу.

Может ли кто-нибудь сказать, как я могу изменить размер изображения или, по крайней мере, сказать, как получить высоту и ширину изображения? Размеры площадки для подписи заданы статически

введите здесь описание изображения


person Iris_geek    schedule 09.06.2017    source источник


Ответы (2)


люди, которые хотят снова отредактировать знак, это не очень хорошее решение. Я исправил, перерисовав изображение в signPad.

    this.signaturePad.clear();
    //If it is already signed load sign into signPad. 
    if(this.signatureData) {
        let canvas = document.getElementsByTagName('canvas')[0];
        let img = document.createElement("img");
        img.src = this.signatureData;
        canvas.getContext("2d").drawImage(img, 0, 0);
    }
person jagan reddy    schedule 12.07.2018

Я решил это, выполнив обходной путь. Нам нужно изменить соотношение пикселей устройства, а не размер холста. Что-то вроде следующего.

var canvas = document.getElementsByTagName('canvas')[0];
this.resizeCanvas(canvas);

public resizeCanvas(canvas) {
 var ratio =  window.devicePixelRatio || 1;
 //canvas.width = canvas.offsetWidth * ratio;
 //canvas.height = canvas.offsetHeight * ratio;
 canvas.getContext("2d").scale(ratio, ratio);
}

введите здесь описание изображения

person Iris_geek    schedule 30.06.2017