pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

canvas使用注意點總結

canvas默認寬高是300、150,為避免異常,最好使用顯示屬性添加而不通過css來添加寬高,下面簡單的為大家介紹下canvas使用注意事項,感興趣的朋友可以參考下哈,希望對大家有所幫助

 

1、canvas中文教程https://developer.mozilla.org/zh-CN/docs/Canvas_tutorial

2、canvas默認寬高是300、150,為避免異常,最好使用顯示屬性添加而不通過css來添加寬高

3、在canvas標簽內部添加不支持canvas標簽的瀏覽器的說明

4、通過下面的js代碼也能判斷瀏覽器是否支持canvas

復制代碼 代碼如下:
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
// drawing code here
} else {
// canvas-unsupported code here
}


5、canvas只支持一種基本形狀的繪制,即矩形,但是其它圖形都可以通過canvas路徑來繪制

6、繪制矩形有四個函數:rect、fillRect、strokeRect和clearRect

7、beginPath的作用用來開始一個新的路徑層,如果不加就表示在原來路徑層上繪制,下面兩段代碼效果是完全不一樣的,第一段代碼顯示兩條紅線,第二段代碼顯示一條黑線和一條紅線

復制代碼 代碼如下:
var ctx = document.getElementById('cvs').getContext('2d');
ctx.beginPath();
ctx.moveTo(100.5,20.5);
ctx.lineTo(200.5,20.5);
ctx.stroke();
ctx.moveTo(100.5,40.5);
ctx.lineTo(200.5,40.5)
ctx.strokeStyle = '#f00';
ctx.stroke();

 

復制代碼 代碼如下:
var ctx = document.getElementById('cvs').getContext('2d');
ctx.beginPath();
ctx.moveTo(100.5,20.5);
ctx.lineTo(200.5,20.5);
ctx.stroke();
ctx.beginPath();
ctx.moveTo(100.5,40.5);
ctx.lineTo(200.5,40.5)
ctx.strokeStyle = '#f00';
ctx.stroke();


8、如果不需要路徑閉合,closePath可以不用,如果使用了fill則路徑則會自動閉合,不需要再使用closePath了

9、只要有足夠的耐性是完全可以利用貝塞爾曲線繪制任何圖形的

10、二次方曲線在火狐下存在bug,因此可以利用三次方曲線代替二次方曲線使用

11、圖像(如 PNG,GIF,JPEG等)都可以引入到 canvas 中,而且其它的 canvas 元素也可以作為圖像的來源

12、下面是基本的canvas圖片繪制代碼,其中 image 是 image 或者 canvas 對象,x 和 y 是其在目標 canvas 里的起始坐標

drawImage(image, x, y)
下面一段代碼表示縮放圖片,width和height表示縮放的尺寸
drawImage(image, x, y, width, height)
下 面一段代碼表示剪切圖片,第一個參數和其它的是相同的,都是一個圖像或者另一個 canvas 的引用。其它8個參數中分別表示圖片中裁減的起始x坐標,圖片中裁減的起始y坐標,裁減區域寬度,裁減區域高度,所畫位置x坐標,所畫位置y坐標,所畫圖 形寬度,所畫圖形高度,裁剪區域的尺寸是可以和所畫圖形的尺寸不一樣的,此時會縮放到所畫圖片的尺寸

drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
13、strokeStyle 是用于設置圖形輪廓的顏色,而 fillStyle 用于設置填充顏色。color 可以是表示 CSS 顏色值的字符串,漸變對象或者圖案對象。默認情況下,線條和填充顏色都是黑色(CSS 顏色值 #000000)。

14、圖像透明度可以用globalAlpha = transparency value或者rgba顏色值來表示

15、lineWidth 屬性設置當前繪線的粗細,為解決1px線寬bug問題,采用+0.5的方式來解決

16、lineCap 屬性最左邊的線用了默認的 butt 。可以注意到它是與輔助線齊平的。中間的是 round 的效果,端點處加上了半徑為一半線寬的半圓。右邊的是 square 的效果,端點處加上了等寬且高度為一半線寬的方塊

17、 lineJoin 屬性這里我同樣用三條折線來做例子,分別設置不同的 lineJoin 值。最上面一條是 round 的效果,邊角處被磨圓了,圓的半徑等于線寬。中間和最下面一條分別是 bevel 和 miter 的效果。當值是 miter 的時候,線段會在連接處外側延伸直至交于一點,延伸效果受到下面將要介紹的 miterLimit 屬性的制約

18、save 和 restore 方法是用來保存和恢復 canvas 狀態的,都沒有參數。Canvas 的狀態就是當前畫面應用的所有樣式和變形的一個快照。Canvas 狀態是以堆(stack)的方式保存的,每一次調用 save 方法,當前的狀態就會被推入堆中保存起來。每一次調用 restore 方法,上一個保存的狀態就從堆中彈出,所有設定都恢復。

19、transform(1, 0, 0, 1, 0, 0)參數分別表示水平方向縮放、水平方向旋轉(順時針)、垂直方向旋轉(逆時針)、垂直方向縮放、水平方向偏移量、垂直方向偏移量
setTransform(1, 0, 0, 1, 0, 0)表示重置前一個變換矩陣然后構建新的矩陣,參數作用同上
rotate(angle),(一個半徑等于1弧度,2πr/r=弧度即360=2π,即1=π/180)

20、動畫其實就是不斷清空畫板(clearRect()),然后重繪

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了有關HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發初體驗圖文教程,非常不錯,需要的朋
這篇文章主要介紹了基于HTML5的WebGL經典3D虛擬機房漫游動畫,需要的朋友可以參考下
這篇文章主要介紹了手機端用rem+scss做適配的詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現 github404動態效果的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 英语词典_成语词典_日语词典_法语词典_在线词典网 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 深圳富泰鑫五金_五金冲压件加工_五金配件加工_精密零件加工厂 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 27PR跨境电商导航 | 专注外贸跨境电商| 中药超微粉碎机(中药细胞级微粉碎)-百科 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 重庆中专|职高|技校招生-重庆中专招生网 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 安徽泰科检测科技有限公司【官方网站】 | 创客匠人-让IP变现不走弯路| 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 温州在线网| 起好名字_取个好名字_好名网免费取好名在线打分| 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 |