【问题标题】:Angular Merge few imagesAngular 合并几张图片
【发布时间】:2018-08-22 18:20:48
【问题描述】:

是否有任何选项可以将几个图像以角度合并在一起。我看到一个有 HTML 5 编码的,但我无法让它工作

<canvas id="canvas"></canvas>
<script type="text/javascript">
  var canvas = document.getElementById('canvas');
  var context = canvas.getContext('2d');
  Image img1 = new Image();
  Image img2 = new Image();

  img1.onload = function () {
    canvas.width = img1.width;
    canvas.height = img1.height;
    img2.src = 'imgfile2.png';
  };
  img2.onload = function () {
    context.globalAlpha = 1.0;
    context.drawImage(img1, 0, 0);
    context.globalAlpha = 0.5; //Remove if pngs have alpha
    context.drawImage(img2, 0, 0);
  };

  img1.src = 'imgfile1.png';

</script>

【问题讨论】:

    标签: javascript angular typescript html5-canvas


    【解决方案1】:

    只需使用它在 Angular 组件中创建一个函数,然后使用局部变量来获取您的画布。

    @ViewChild('canvas') canvas: ElementRef;
    
    mergeImages() {
      var canvas: HTMLCanvasElement = this.canvas.nativeElement;
      var context = canvas.getContext('2d');
    
      let img1 = new Image();
      let img2 = new Image();
    
      img1.onload = function() {
        canvas.width = img1.width;
        canvas.height = img1.height;
        img2.src = 'imgfile2.png';
      };
      img2.onload = function() {
        context.globalAlpha = 1.0;
        context.drawImage(img1, 0, 0);
        context.globalAlpha = 0.5; //Remove if pngs have alpha
        context.drawImage(img2, 0, 0);
      };        
    
      img1.src = 'imgfile1.png';
    }
    

    在你的 HTML 中,记得声明你的局部变量

    <canvas #canvas></canvas>
    

    【讨论】:

    • 感谢您的回答,但似乎没有用。 (webstorm) IDE 在代码中给出错误
    • 找不到 img1。然后我添加了这个变量 img1: HTMLImageElement;并将 img1 添加为“Image this.img1 = new Image();”但随后 IIDE 在“图像”附近给出错误“预期的换行符或分号”。我尝试删除“图像”,但它没有正常工作。我正在使用角度 Cli。
    • 是的,对不起,我只是复制粘贴了您的代码。我编辑了我的答案,这应该可以。
    • 再次感谢您的帮助。现在“@ViewChild('canvas') canvas: ElementRef;”上只有一个错误它在画布下给出错误。错误信息是未使用的标签。我尝试删除它,但没有成功。
    • 您是否像我使用主题标签一样为您的画布提供了一个局部变量?
    猜你喜欢
    • 2011-10-31
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2016-03-31
    相关资源
    最近更新 更多