HTML到图像到Base64

时间:2017-02-04 10:21:02

标签: javascript angularjs image base64 html2canvas

我正在努力解决这种情况,我在JavaScript变量中有一些HTML标记。

我想要的是,将该变量的值转换为图像并获取base64值:

var print_markup = '';
print_markup += '<h2 style="text-align:center">' + $scope.config.business_name + '</h2>';
print_markup += '<p style="text-align:center">' + $scope.config.business_address + '</p>';

我尝试了这个html2canvas但它需要一个dom元素作为其参数而不是HTML字符串,或者我没有正确使用它。

html2canvas(print_markup, {
    onrendered: function(canvas) {
        var dataURL = canvas.toDataURL();
        var base64String = dataURL.split(',')[1];

   }
})

但我明白了:

  

html2canvas.js:592 Uncaught(in promise)渲染网址时必须使用代理

2 个答案:

答案 0 :(得分:0)

请参阅链接:here

<?php
use yii\helpers\Html;

/* @var $this yii\web\View */
/* @var $model backend\models\Student */

$this->title = 'Student';
?>

<div class="title">
<?= Html::encode($this->title) ?>

</div>
<?=
  $this->render('_form', [
  'model' => $model,
])
?>

答案 1 :(得分:0)

正如@Kaiido建议的那样,html2canvas的第一个参数是附加到原始文档的元素, 有关更多信息,请参阅此html2canvas