鍍金池/ 問答/HTML5  GO  HTML/ 使用html2canvas插件截圖區(qū)域從屏幕左上角開始?

使用html2canvas插件截圖區(qū)域從屏幕左上角開始?

1、采用html2canvas插件截圖,利用自定義canvas時(shí),因所需截取區(qū)域位于視圖中央,但每次結(jié)果都是從屏幕左上角開始的

2、代碼如下:

var createImage = function(targetEle) {
    var shareContent = targetEle;
    var width = shareContent.offsetWidth;
    var height = shareContent.offsetHeight;
    var canvas = document.createElement("canvas");
    var scale = 1;

    canvas.width = width * scale;
    canvas.height = height * scale;
    canvas.getContext("2d").scale(scale, scale);

    var opts = {
      scale: scale,
      canvas: canvas,
      logging: true,
      width: width,
      height: height
    };

    html2canvas(shareContent, opts).then(function(canvas) {
      var context = canvas.getContext('2d');

      var img = Canvas2Image.convertToImage(canvas, canvas.width, canvas.height);

      document.body.appendChild(img);
      $(img).css({
        "width": canvas.width / 2 + "px",
        "height": canvas.height / 2 + "px",
      })
    });
  }
  

3、視圖
1)所需截取區(qū)域:

clipboard.png

2)所得結(jié)果區(qū)域:

clipboard.png

4、所嘗試的辦法
1)不采用自定義canvas可以,但是無法自定義畫布,因此出來的圖像模糊,無法解決scale:2 的問題
2)給視圖設(shè)定樣式為 margin:0 auto; 無效,仍是如此
3) 加上視圖的偏移距離無效,偏移距離部分變?yōu)楹谏?/p>

5、期望
希望能夠準(zhǔn)確得到所需截取區(qū)域的視圖并能保證視圖的清晰度

回答
編輯回答
雨蝶

可以控制屬性xy來辦到的

2017年7月10日 20:33
編輯回答
吃藕丑

我解決啦
啦啦啦啦

2018年3月20日 23:53