H5:畫布Canvas基礎知識講解(三)之文字、陰影、顏色漸變

      網友投稿 1043 2025-04-03

      上一節介紹了H5:畫布canvas基礎知識講解(二)之插入圖像、像素級操作,接下來繼續講解H5:畫布canvas基礎。


      文字

      雖然最近的WebKit版本和Firefox 3.1 nightly build才開始支持Text API,為了保證文章完整性我決定仍在這里介紹文字API。

      context對象可以設置以下text屬性:

      font:文字字體,同CSS font-family屬性;

      textAlign:文字水平對齊方式。可取屬性值: start,end,left,right,center。默認值:start;

      textBaseline:文字豎直對齊方式。可取屬性值:top,hanging,middle,alphabetic,ideographic,bottom。默認值:alphabetic。

      有兩個方法可以繪制文字:fillText和strokeText。第一個繪制帶fillStyle填充的文字,后者繪制只有 strokeStyle邊框的文字。兩者的參數相同:要繪制的文字和文字的位置(x,y)坐標。還有一個可選選項——最大寬度。如果需要的話,瀏覽器會縮 減文字以讓它適應指定寬度。

      文字對齊屬性影響文字與設置的(x,y)坐標的相對位置。

      ontext.fillStyle = '#00f';

      context.font = 'italic 30px sans-serif';

      context.textBaseline = 'top';

      context.fillText ('Hello world!', 0, 0);

      context.font = 'bold 30px sans-serif';

      context.strokeText('Hello world!', 0, 50);

      可以把上面代碼放置在文檔head部分中,或者放在外部JavaScript文件中。

      陰影

      目前只有Konqueror和Firefox 3.1 nightly build支持Shadows API。API的屬性為:shadowColor:陰影顏色。其值和CSS顏色值一致。

      shadowBlur:設置陰影模糊程度。此值越大,陰影越模糊。其效果和Photoshop的高斯模糊濾鏡相同。

      shadowOffsetX和shadowOffsetY:陰影的x和y偏移量,單位是像素。

      context.shadowOffsetX = 5;

      context.shadowOffsetY = 5;

      context.shadowBlur = 4;

      context.shadowColor = 'rgba(255, 0, 0, 0.5)';

      context.fillStyle = '#00f';

      context.fillRect(20, 20, 150, 100);

      可以把上面代碼放置在文檔head部分中,或者放在外部JavaScript文件中。

      顏色漸變

      除了CSS顏色, fillStyle和strokeStyle屬性可以設置為CanvasGradient對象。——通過CanvasGradient可以為線條和填充使用顏色漸變。

      欲創建CanvasGradient對象,可以使用兩個方法:createLinearGradient和createRadialGradient。前者創建線性顏色漸變,后者創建圓形顏色漸變。

      創建顏色漸變對象后,可以使用對象的addColorStop方法添加顏色中間值。

      下面的代碼演示了顏色漸變使用方法:

      var gradient1 = context.createLinearGradient(sx,sy,dx,dy);

      H5:畫布Canvas基礎知識講解(三)之文字、陰影、顏色漸變

      gradient1.addColorStop(0, '#f00');

      gradient1.addColorStop(0.5, '#ff0');

      gradient1.addColorStop(1, '#00f');

      var gradient2 = context.createRadialGradient(sx,sy,sr,dx,dy, dr);

      可以把上面代碼放置在文檔head部分中,或者放在外部JavaScript文件中。

      小結

      Canvas是HTML5最讓人期待的特性之一,目前已獲得大部分Web瀏覽器支持Canvas可以幫助創建游戲、增強圖形用戶界面。2D context API提供大量圖形繪制功能——我希望通過本文你了解了Canvas使用,并且你有興趣了解更多!

      Canvas

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:手機wps表格的求和方法步驟
      下一篇:【Linux】raid管理工具-mdadm-raid0管理
      相關文章
      亚洲精品国产手机| 亚洲色图视频在线观看| 亚洲国语在线视频手机在线| 亚洲精品无码鲁网中文电影| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲人成无码久久电影网站| 国产成人亚洲精品无码AV大片| 亚洲AV无码成人网站在线观看 | 亚洲最大免费视频网| 91亚洲va在线天线va天堂va国产| 亚洲AV无码1区2区久久| 亚洲av无码国产精品夜色午夜| 亚洲国产第一站精品蜜芽| 久久亚洲国产中v天仙www| 亚洲av中文无码乱人伦在线播放 | 色噜噜亚洲男人的天堂| 亚洲自国产拍揄拍| 亚洲婷婷第一狠人综合精品| 亚洲av无码片在线观看| 亚洲综合校园春色| 亚洲一线产品二线产品| 亚洲熟妇av午夜无码不卡| 亚洲乱亚洲乱妇24p| 亚洲av日韩av永久在线观看| 精品韩国亚洲av无码不卡区| 亚洲国产综合无码一区二区二三区 | 亚洲Aⅴ无码专区在线观看q| 亚洲AV日韩AV鸥美在线观看| 亚洲自偷自拍另类12p| 久久久久亚洲AV无码专区首JN| 亚洲黄色网站视频| 亚洲免费网站在线观看| 精品亚洲成在人线AV无码| 亚洲日韩久久综合中文字幕| 亚洲中文字幕乱码熟女在线| 亚洲AV无码一区二区三区牲色| 亚洲精品乱码久久久久久蜜桃| 亚洲最大AV网站在线观看| 久久亚洲精品成人综合| 亚洲欧洲久久精品| 亚洲欧美日韩中文二区|