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

HTML5 CANVAS:繪圖狀態和狀態棧

當我們在HTML5 canvas中使用2D上下文來繪制圖形的時候,2D上下文會處于某種狀態中。你可以通過操縱2D上下文的屬性來設置這些狀態。,HTML5中國,中國最大的HTML5中文門戶。
1.jpg

  當我們在HTML5 canvas中使用2D上下文來繪制圖形的時候,2D上下文會處于某種狀態中。你可以通過操縱2D上下文的屬性來設置這些狀態,例如fillStyle屬性和strokeStyle屬性。所有的這些操作被稱為2D上下文的state(狀態)。

  有時候,我們在canvas上繪制圖形的時候,經常需要改變2D上下文的狀態。舉例來說,你在繪制直線或矩形的時候需要一種strokStyle,在繪制下一條直線或矩形的時候需要另一種strokStyle。又或者是不同的填充色,旋轉角度等等。

  我們不可能在繪制圖形之前就設置好所有圖形的狀態,但是我們可以將當前的狀態壓棧到一個狀態棧中。在這個狀態棧中,最后壓入的狀態將最先被彈出。通過這種方式我們可以非常方便的恢復到前一次的繪圖狀態。

  HTML5 CANVAS繪圖狀態的例子
  將一個繪圖狀態進行壓棧和出棧的方法如下:
  1. context.save();     // 將一個狀態壓入狀態棧中

  2. context.restore();  // 將最前面的狀態出棧,并設置到2d上下文中

復制代碼

  對于一個狀態棧,你可以壓入多個狀態,然后在將它們依次彈出。來看下面的例子:
  1. var canvas  = document.getElementById("ex1");
  2. var context = canvas.getContext("2d");

  3. context.fillStyle  ="#66ff66";
  4. context.strokeStyle="#990000";
  5. context.lineWidth  = 5;

  6. context.fillRect  (5, 5, 50, 50);
  7. context.strokeRect(5, 5, 50, 50);

  8. context.save();

  9. context.fillStyle = "#6666ff";

  10. context.fillRect  (65, 5, 50, 50);
  11. context.strokeRect(65, 5, 50, 50);

  12. context.save();

  13. context.strokeStyle = "#000099";

  14. context.fillRect  (125, 5, 50, 50);
  15. context.strokeRect(125, 5, 50, 50);

  16. context.restore();

  17. context.fillRect  (185, 5, 50, 50);
  18. context.strokeRect(185, 5, 50, 50);

  19. context.restore();

  20. context.fillRect  (245, 5, 50, 50);
  21. context.strokeRect(245, 5, 50, 50);   
復制代碼

  上面的代碼得到的結果如下:

4.jpg

  狀態棧的用處
  狀態棧對于改變canvas的合成模式,圖形的轉換設置和在需要回到以前設置的狀態的場景中十分有用。

  通過保存和恢復合成模式或圖形轉換設置,你可以確保它們被正確的重置。否則,你要想恢復到以前設置的某種狀態時十分困難的。

  2D上下文的狀態有哪些?
  所有的2D上下文的屬性都是可以保存和恢復的屬性。你在恢復一個狀態的時候,繪制區域并不會自動進行恢復。你恢復的僅僅是2D上下文的設置(屬性值),這些設置包括:

  •   fillStyle
  •   font
  •   globalAlpha
  •   globalCompositionOperation
  •   lineCap
  •   lineJoin
  •   lineWidth
  •   miterLimit
  •   shadowBlur
  •   shadowColor
  •   shadowOffsetX
  •   shadowOffsetY
  •   strokeStyle
  •   textAlign
  •   textBaseline
  •   clipping區域
  •   轉換矩陣


  上面的列表并不是完整的列表。還有更多的屬性屬于2D上下文狀態的一部分。


  本文版權屬于jQuery之家,轉載請注明出處:http://www.htmleaf.com/ziliaoku/ ... g/201507252298.html

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

相關文檔推薦

這篇文章主要介紹了基于HTML5 Canvas的3D動態Chart圖表的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了HTML5 Canvas 實現圓形進度條并顯示數字百分比效果示例,具有一定的參考價值,有興趣的可以了解一下
這篇文章主要介紹了HTML5 Canvas 旋轉風車繪制,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了html5 canvas合成海報所遇問題及解決方案總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
由于實際運行環境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發者能夠決定的,開發者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
主站蜘蛛池模板: 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 空压机网_《压缩机》杂志 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 温州在线网| 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 微妙网,专业的动画师、特效师、CG模型设计师网站! - wmiao.com 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 浙江宝泉阀门有限公司| 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 永嘉县奥阳陶瓷阀门有限公司| 浙江美尔凯特智能厨卫股份有限公司| 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 |