Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在另一个画布中使用在画布中生成的新img_Javascript_Canvas - Fatal编程技术网

Javascript 如何在另一个画布中使用在画布中生成的新img

Javascript 如何在另一个画布中使用在画布中生成的新img,javascript,canvas,Javascript,Canvas,我使用一个画布来裁剪jpg,我希望在另一个画布中使用这个裁剪的img /**************画布裁剪图像*********/ var canvas1 = document.getElementById('Canvas1'); var context1 = canvas1.getContext('2d'); var imageObj = new Image(); imageObj.onload = function() { // draw cropped imag

我使用一个画布来裁剪jpg,我希望在另一个画布中使用这个裁剪的img

/**************画布裁剪图像*********/

  var canvas1 = document.getElementById('Canvas1');
  var context1 = canvas1.getContext('2d');
  var imageObj = new Image();

  imageObj.onload = function() {
    // draw cropped image
    var sourceX = 90;
    var sourceY = 0;
    var sourceWidth = 319;
    var sourceHeight = 319;
    var destWidth = sourceWidth;
    var destHeight = sourceHeight;
    var destX = canvas1.width / 2 - destWidth / 2;
    var destY = canvas1.height / 2 - destHeight / 2;

    context1.drawImage(imageObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight);
  };
  imageObj.src = 'OriginImg.jpg';
/**************使用裁剪img的画布*********/

  var canvas2 = document.getElementById('Canvas2');
  var context2 = canvas2.getContext('2d');
  var img = new Image();
  img.src = canvas1;
  context2.drawImage(img, 10,10);

这不是在另一个画布上绘制画布的标准方法,不鼓励使用这种方法,但如果您想使用这种方法,可以始终将第一个画布转换为它的
dataURL
,并将其用作src:

img.src=canvas1.toDataURL()
对您来说很合适

请查看mdn页面以了解更多信息

标准方法是简单地在另一张画布上画一张:

ctx2.drawImage(canvas1,0,0)


更多信息可以在mdn页面中找到,我需要知道如何在第二个画布的img.src中使用第一个画布