Angular Ionic2签名板调整图像大小

Angular Ionic2签名板调整图像大小,angular,typescript,ionic2,angular2-directives,signaturepad,Angular,Typescript,Ionic2,Angular2 Directives,Signaturepad,我通过相机拍摄图像并将其保存到签名板。图像占据了签名板上的特定部分。如何将图像大小调整为签名板的大小 这是图像保存到签名板后的屏幕截图。灰色部分是签名板。图像位于左上角 能否请一些机构告诉我如何调整图像大小,或至少告诉如何获得图像的高度和宽度?静态给出了特征焊盘尺寸 我通过一些变通办法解决了这个问题。我们需要更改设备像素比率,而不是画布大小。类似下面的内容 var canvas = document.getElementsByTagName('canvas')[0]; this.resizeCa

我通过相机拍摄图像并将其保存到签名板。图像占据了签名板上的特定部分。如何将图像大小调整为签名板的大小

这是图像保存到签名板后的屏幕截图。灰色部分是签名板。图像位于左上角

能否请一些机构告诉我如何调整图像大小,或至少告诉如何获得图像的高度和宽度?静态给出了特征焊盘尺寸


我通过一些变通办法解决了这个问题。我们需要更改设备像素比率,而不是画布大小。类似下面的内容

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);
}

想要再次编辑该标志的人这不是一个好的解决方案。我通过将图像重新绘制到路标板中进行修复

    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);
    }