javascript - 将特定 div 中的所有内容保存为图像

标签 javascript html css angularjs ionic-framework

我正在尝试将具有动态信息的整个 div 保存(或复制并粘贴)为图像。 div 包含最终得分、背景图像和其他自定义元素等信息。

例子:

<div class="saveme" style="background-image:url({{mainimg}});">
   <h1>{{Score}}</h1>
   <h2>{{Username}}</h2>
</div>

理想情况下,当单击“分享我”按钮时,div 将被保存并插入到可以在线共享的电子邮件或表单中。我调查了https://html2canvas.hertzen.com/但我不确定如何将它合并到 angjularjs/ionic 框架中。

最佳答案

这里是一个 html2canvas 集成的例子,根据 docs .

angular.module('app', []).
controller('ctrl', function($scope){
  $scope.Score = 80;
  $scope.Username = 'My Username'

  $scope.saveMe = function(){
    html2canvas(document.querySelector('.saveme'), {
      onrendered: function(canvas) {
        var src = canvas.toDataURL();
        $('<a href="' + src + '" download="saved.png">Download</a>')[0].click()
      }
    });
  };
});
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<div data-ng-app="app" data-ng-controller="ctrl">
  <div class="saveme" style="background-image:url({{mainimg}});">
    <h1>{{Score}}</h1>
    <h2>{{Username}}</h2>
  </div>
  <button data-ng-click="saveMe()">Save</button>
</div>

http://jsbin.com/gerena/edit?html,js

关于javascript - 将特定 div 中的所有内容保存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36526426/

相关文章:

javascript - 我用 JavaScript 创建了一个日期计算器,但即使 setInterval() 我也无法更新数字

javascript - 表单字段中的选项隐藏下一个字段中的选项

java - HTML 5 文件上传使用 java servlet 访问被拒绝异常

html - 手动插入网站标语

html - 使用 flex 时需要堆叠元素

javascript - GWT - 范围错误 : Maximum call stack size exceeded at spliceArray

javascript - 阻止特定脚本中的特定函数在浏览器内执行

javascript - 我是否正确使用了 Promise?

html - 输入按钮在页面刷新时移动?

html - 如何使用 CSS 创建心形?