阴影文字:
只要设置shadowOffsetX与shadowOffsetY的值,当值都正数时,阴影相对文字的右下
方偏移。当值都为负数">
首頁 > web前端 > H5教程 > 主體

HTML5 Canvas陰影使用方法實例示範_html5教學技巧

WBOY
發布: 2016-05-16 15:49:02
原創
1418 人瀏覽過

HTML5 Canvas中提供了設定陰影的四個屬性值分別為:
context.shadowColor = “red” 表示設定陰影顏色為紅色
context.shadowOffsetX = 0表示陰影相對TEXT的水平距離,0表示兩者水平位置重疊
context.shadowOffsetY = 0表示陰影相對TEXT的垂直距離,0表示兩者垂直位置重合
context.shadowBlur = 10 陰影模糊效果,數值越大模糊越厲害。
一個最簡單的帶有陰影的矩形程式碼如下:
context.shadowColor = "RGBA(127,127,127,1)";
context.shadowOffsetX = 3;
context.shadowOffsetY = 3;
context.shadowBlur = 0;
context.fillStyle = "RGBA(0, 0, 0, 0.8)";
context.fillRect(10, hh 10, 200,canvas.height/4-20) ;
效果如下:
 
陰影文字:
只要設定shadowOffsetX與shadowOffsetY的值,當值都正數時,陰影相對文字的右下
方偏移。當值都為負數時,陰影相對文字的左上方偏移。
3D拉影效果:
在同一位置不斷的重複繪製文字同時改變shadowOffsetX、shadowOffsetY、shadowBlur
的值,從小到大不斷偏移不斷增加,透明度也不斷增加。就得到了拉影效果文字。
邊緣模糊效果文字:
在3D拉影效果的基礎上在四個方向重複,就得到了邊緣羽化的文字效果。
運行效果:
 
序代碼:

複製代碼
代碼如下:






キャンバス クリップ デモ


var ctx = null; // グローバル変数 2D コンテキスト
var imageTexture = null;
window.onload = function() {
var Canvas = document.getElementById("text_canvas");
console.log(canvas.parentNode.clientWidth);
canvas.width = Canvas.parentNode.clientWidth;
canvas.height = Canvas.parentNode.clientHeight;
if (!canvas.getContext) {
console.log("キャンバスはサポートされていません。HTML5 互換のブラウザをインストールしてください。");
戻る;
}
var context = Canvas.getContext('2d');
// セクション 1 - シャドウとブラー
context.fillStyle="black";
context.fillRect(0, 0, Canvas.width, Canvas.height/4);
context.font = '60pt Calibri';
context.shadowColor = "白";
context.shadowOffsetX = 0;
context.shadowOffsetY = 0;
context.shadowBlur = 20;
context.fillText("キャンバスをぼかす", 40, 80);
context.ストロークスタイル = "RGBA(0, 255, 0, 1)";
context.lineWidth = 2;
context.ストロークText("キャンバスをぼかし", 40, 80);
// セクション 2 - シャドウ フォント
var hh = Canvas.height/4;
context.fillStyle="white";
context.fillRect(0, hh, Canvas.width, Canvas.height/4);
context.font = '60pt Calibri';
context.shadowColor = "RGBA(127,127,127,1)";
context.shadowOffsetX = 3;
context.shadowOffsetY = 3;
context.shadowBlur = 0;
context.fillStyle = "RGBA(0, 0, 0, 0.8)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
// セクション 3 - ダウンシャドウ効果
var hh = Canvas.height/4 hh;
context.fillStyle="black";
context.fillRect(0, hh, Canvas.width, Canvas.height/4);
for(var i = 0; i {
context.shadowColor = "RGBA(255, 255, 255," ((10-i)/10) ")" ;
context.shadowOffsetX = i*2;
context.shadowOffsetY = i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
}
// セクション 4 - フェード効果
var hh = Canvas.height/4 hh;
context.fillStyle="green";
context.fillRect(0, hh, Canvas.width, Canvas.height/4);
for(var i = 0; i {
context.shadowColor = "RGBA(255, 255, 255," ((10-i)/10) ")" ;
context.shadowOffsetX = 0;
context.shadowOffsetY = -i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
}
for(var i = 0; i {
context.shadowColor = "RGBA(255, 255, 255," ((10-i)/10) ) ")";
context.shadowOffsetX = 0;
context.shadowOffsetY = i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
}
for(var i = 0; i {
context.shadowColor = "RGBA(255, 255, 255," ((10-i)/10) ) ")";
context.shadowOffsetX = i*2;
context.shadowOffsetY = 0;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
}
for(var i = 0; i {
context.shadowColor = "RGBA(255, 255, 255," ((10-i)/10) ) ")";
context.shadowOffsetX = -i*2;
context.shadowOffsetY = 0;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("キャンバスをぼかし", 40, 80 hh);
}
}



HTML5 キャンバス クリップ デモ - Gloomy Fish 作


クリップの塗りつぶしとストローク






相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板