小编use*_*278的帖子

无法使用jspdf和chartjs向画布添加背景色

我正在使用jspdf插件将条形图导出为pdf。图表上的条形为白色,因此当我导出为pdf(作为png图像)时,这些条在pdf的透明背景上不可见。我在容器上添加了灰色背景色,以使白色条清晰可见。当我将图形导出为pdf时,它仍显示透明背景而不是灰色。有人可以告诉我我在想什么吗?

javascript:

    $(document).ready(function(){

    $('#hyppdf').click(function(){
    var canvasImg = document.getElementById("myChart").toDataURL("image/png",     
    1.0);
    var doc = new jsPDF();
    doc.setFontSize(33);
    doc.setFillColor(135, 124,45,0);
    doc.addImage(canvasImg, 'png', 10, 10, 150, 100);
    doc.save('sample.pdf');
    })

    var ctx = document.getElementById("myChart").getContext('2d');

  var myChart = new Chart(ctx, {
  type: 'bar',
  data: {
    labels: ["M", "T", "W", "T", "F", "S", "S"],
    datasets: [{
      label: 'apples',
      data: [12, 19, 3, 17, 28, 24, 7],
      backgroundColor: "rgba(255,255,255,1)"
    }, {
      label: 'oranges',
      data: [30, 29, 5, 5, 20, 3, 10],
      backgroundColor: "rgba(255,153,0,1)"
    }]
  }
});

})
Run Code Online (Sandbox Code Playgroud)

的HTML: …

javascript jquery jspdf chart.js

3
推荐指数
1
解决办法
7760
查看次数

选择选项中的ng-init覆盖ng-model(添加了插件)

https://plnkr.co/edit/RgGzgGkBPaxvKHNE688K?p=preview

在上面的示例中,我正在硬编码选择选项,并通过ng-init属性初始化为颜色“红色”。我想在页面加载时显示默认的颜色“红色”。

 <select ng-model="mycolor" ng-init="mycolor = 'red'">
      <option>red</option>
      <option>green</option>
    </select>
Run Code Online (Sandbox Code Playgroud)

在控制器中,我将“ mycolor”更新为“绿色”,但由于ng-init属性,选择框仍显示“红色”。(我这样做是因为将从后端检索mycolor)

app.controller('MainCtrl', function($scope) {
  $scope.mycolor = 'green';
});
Run Code Online (Sandbox Code Playgroud)

如何解决呢?简而言之,我想实现的是,我想在页面加载时的选择框中显示红色默认值,如果后端的mycolor发生任何更改,则应将其覆盖为新颜色。就我而言,它是绿色的。

javascript angularjs angularjs-scope

0
推荐指数
1
解决办法
575
查看次数