Canvas 3 着色

上色

  • fillStyle:設定圖形填充色

    • fillStyle = color
  • strokeStyle:設定圖形邊框顏色

    • strokeStyle = color
  • color:可以是 css 顏色的字符串,也可以是漸變對象或者是圖案對象

  • canvas 默認顏色是黑色

  • 每次改變顏色都需要重新設定,因爲之前的設定都會成爲默認值。

CSS 顏色標準包括

  • “orange” 顏色字串
  • “#FFA500” hex color 16進制顏色
  • “rgb(255,165,0)” rgb 3原色
  • “rgba(255,165,0,1)” rgba 三原色+透明度
範例1:

<canvas id="canvas" width="150" height="150"></canvas>

function draw() {
  var ctx = document.getElementById('canvas').getContext('2d');
  for (var i=0;i<225;i++){
      //設定顏色
      ctx.fillStyle = 'rgb(' + Math.floor(255-i) + ',' + 
                       Math.floor(255-42.5) + ',0)'; 
      //繪製矩形
      ctx.fillRect(1,i*1,50,1);
  }
}
draw();

透明度設定

  • 設定全局顏色透明度
    • globalAlpha = transparencyValue
    • 這個屬性會影響全局圖形透明度
    • 在繪製大量相同透明度的圖形時非常高效
  • 設定每一次上色的透明度
    • ctx.fillStyle = “rgba(255,0,0,0.5)”
範例2:
//改變全局的透明度
function draw1() {
  var ctx = document.getElementById('canvas').getContext('2d');
  // 设置透明度值
  ctx.globalAlpha = 0.2;

  // 画半透明圆,圖像是一直疊加的,所以共同的區域最黑
  for (var i=0;i<7;i++){
      ctx.beginPath();
      ctx.arc(75,75,10+10*i,0,Math.PI*2,true);
      ctx.fill();
  }
}
//每次繪製前設定透明度
function draw2() {
  var ctx = document.getElementById('canvas').getContext('2d');
  // 设置透明度值
/*   ctx.globalAlpha = 0.2; */

  // 画半透明圆
  for (var i=0;i<7;i++){
      ctx.beginPath();
      ctx.fillStyle = 'rgba(0,0,0,0.2)'
      ctx.arc(75,75,10+10*i,0,Math.PI*2,true);
      ctx.fill();
  }
}
draw1();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值