Ionic2 Signature Pad 调整图像大小

Posted

技术标签:

【中文标题】Ionic2 Signature Pad 调整图像大小【英文标题】:Ionic2 Signature Pad resize image 【发布时间】:2017-11-11 06:36:09 【问题描述】:

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

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

有人可以告诉我如何调整图像大小或至少告诉如何获取图像的高度和宽度吗?签名板尺寸是静态给定的

【问题讨论】:

【参考方案1】:

想要重新编辑标志的人不是很好的解决方案。我通过将图像重绘到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);
    

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于Ionic2 Signature Pad 调整图像大小的主要内容,如果未能解决你的问题,请参考以下文章

图像压缩压缩速度非常慢

图像处理 gem 在 GCS 中创建调整大小的文件

Ionic 2 警报输入调整大小

在ionic2中使用图像和文本加载延迟列表

Ionic2 - 在 UI 上显示项目图像

Ionic2 - 给定路径,无法在 UI 上显示本地图像