<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      基于Html5的Canvas實現的Clocks (鐘表)

      Canvas是Html5中非常重要的Feature 之一,究竟Canvas的未來會怎么樣? 各大巨頭有著不同的想法,微軟的IE9會全面支持Canvas, Safari Chrome FireFox Opera 都已經支持了Canvas, 這些都是對Canvas利好的消息,這說明Canvas 將會在主流的瀏覽器上得到全面的支持。不過不全是對Canvas利好的消息,Adobe 微軟 都有自己成熟的替代技術,Adobe Flash 已經發展了這么多年,擁有廣大的用戶群,同時Flash的瀏覽器插件也幾乎成為了事實標準,同時Flash 擁有強大的圖形處理能力,和良好的IDE開發工具,這都會讓人不由的想選擇Flash來實現類似的圖形效果。微軟的SilverLight 不斷的更新和發展,這也說明了微軟想發展這項技術的決心。喬布斯不讓 IPhone 和IPad 支持Flash,但是Google最新的Android 2.2已經支持了Flash,看來這兩家巨頭在移動設備上的做法不太一樣,但是 Apple 和 Google 沒有類似的替代技術,看來他們會堅定不移的發展并支持Canvas技術,這兩家巨頭會帶著Canvas走向何處,Canvas會大方異彩被廣大的Web開發人員接收并采用,還是黯然的躲在角落里,我想一段時間后,這個答案會滿滿的浮出水面吧。
      經典的Html5 Canvas 例子已經很多,這里的兩個Clock 創意并非來自于本文,ColorfulClock 來自于 http://demo.tutorialzine.com/2009/12/colorful-clock-jquery-css/demo.html , CharacterClock 來自于 http://www.j2nete.cn/time/time.html , 非常喜歡這兩個Clock創意,這里使用Canvas 來實現了它們,希望各位看官能夠喜歡。
      實例執行頁面: http://www.zhangsichu.com/canvas/canvasclocks.htm ie7 ie8 沒有支持Canvas, 請在 Safari Chrome FireFox 或 Opera 下運行此實例頁面。
      ColorfulClock

       

       

      ColorfulClock 的核心代碼是 ColorfulRing的drawValue 方法,使用Canvas 的 path 創建路徑并填充路徑。

       

      ColorfulRing.prototype.drawValue = function (value) {
      
      var angleStart = 1.5 * Math.PI;
      var angleEnd = value / this.threshold * 2 * Math.PI + 1.5 * Math.PI;
      var clearSafe = 10;
      
      this.context.save();
      this.context.clearRect(this.positionX - this.radius - clearSafe, this.positionY - this.radius - clearSafe, (this.radius + clearSafe) *2, (this.radius + clearSafe) * 2);
      this.context.beginPath();
      this.context.arc(this.positionX, this.positionY, this.radius, angleStart, angleEnd, false);
      this.context.lineTo(this.positionX + Math.cos(angleEnd) * this.radiusInner, this.positionY + Math.sin(angleEnd) * this.radiusInner);
      this.context.arc(this.positionX, this.positionY, this.radiusInner, angleEnd, angleStart, true);
      this.context.lineTo(this.positionX + Math.cos(angleStart) * this.radius, this.positionY + Math.sin(angleStart) * this.radius);
      this.context.closePath();
      
      this.context.strokeStyle = this.borderColor;
      this.context.lineWidth = this.borderWidth;
      this.context.stroke();
      
      this.context.fillStyle = this.fillColor;
      this.context.fill();
      
      this.context.fillStyle = this.textColor;
      this.context.font = this.textWeight + " " + this.textSize + " " + this.textFamily;
      this.context.fillText(value < 10 ? "0" + value : value, this.positionX - parseInt(this.textSize) / 2 - parseInt(this.textSize) / 14, this.positionY + parseInt(this.textSize) / 3 + parseInt(this.textSize) / 14);
      this.context.restore();
      
      this.value = value;
      }

       

      CharacterClock Canvas 主要使用 fillText來繪制文字,核心的時間顯示算法,來自于OwenTime

       

       

      兩個Canvas Clock在Chrome下分別和DOM實現做了粗略性能比較:

       

       

       

       

       

      似乎可以看出,Canvas 在這個用例上,有一點小小的優勢。

      posted @ 2010-08-03 15:35  葡萄城技術團隊  閱讀(5688)  評論(15)    收藏  舉報
      主站蜘蛛池模板: 房产| 亚洲国产精品久久久久秋霞| 国产蜜臀av在线一区在线| 麻豆精品久久久久久久99蜜桃| 天气| 福利一区二区视频在线| 成人免费乱码大片a毛片| 伊人久久大香线蕉av五月天| 久久se精品一区二区三区| 久久国产精品色av免费看| 成人午夜在线观看日韩| 日本国产精品第一页久久| 国内久久人妻风流av免费| 午夜精品福利亚洲国产| 丁香五月婷激情综合第九色| 国产黄色看三级三级三级| 亚洲一区二区三区av链接| 亚洲精品欧美综合二区| 国产偷国产偷亚洲综合av| 97人人添人澡人人爽超碰| 一本加勒比hezyo无码人妻| 国产高清视频一区二区三区| 四虎影院176| 内射视频福利在线观看| 天堂网av最新版在线看| 精品无码国产自产拍在线观看蜜 | 好姑娘高清影视在线观看| 兰西县| 成人亚欧欧美激情在线观看| 国产真实伦在线观看视频| 山丹县| 最新av中文字幕无码专区| 东方av四虎在线观看| 国内不卡不区二区三区| 国产一级特黄性生活大片| 97精品国产91久久久久久久| 国产玖玖玖玖精品电影| 中文字幕国产精品一区二| 国产精品青青在线观看爽香蕉| 欧美肥老太牲交大战| 三级黄色片一区二区三区|