HTML5中Canvas的drawText對齊細節

2021-06-10 05:32:53 字數 740 閱讀 5559

最近接觸的專案中,ui純html5,這可苦了我這個習慣android native控制項的程式設計師,其中畫字對齊的細節部分困擾我很久。anyway,總算是搞定

context物件可以設定以下 text 屬性:

font:文字字型,同 cssfont-family 屬性

textalign:文字水平對齊方式。可取屬性值: start, end, left,right, center。預設值:start.

textbaseline:文字豎直對齊方式。可取屬性值:top, hanging, middle,alphabetic, ideographic, bottom。預設值:alphabetic

有兩個方法可以繪製文字: filltext和 stroketext。第乙個繪製帶 fillstyle 填充的文字,後者繪製只有 strokestyle 邊框的文字。兩者的引數相同:要繪製的文字和文字的位置(x,y) 座標。還有乙個可選選項——最大寬度。如果需要的話,瀏覽器會縮減文字以讓它適應指定寬度。

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

比如說,

this.drawcontext.textalign = "center";

this.drawcontext.textbaseline = "middle";

同樣的,預設對齊方式,是左下角對齊,也就是說,和普通的盒式布局的座標不同,預設的drawtext座標,是從左下角算的,而非左上角!

html5中canvas繪製箭頭

網頁端 該瀏覽器不支援canvas內容 js function position x,y var vector function x,y 加 另乙個向量 add function vec2 減 另乙個向量 sub function vec2 相反方向 negate function 向量長度 len...

HTML5基礎 Canvas元素

1 這是乙個畫布標籤,用於繪製圖形,在網頁中顯示是乙個矩形,沒有內容和邊框,通常放置canvas標籤的時候需要新增乙個id屬性,便於用js進行繪製時讀取該畫布。2 該元素可以設定長寬和邊框樣式,具體 如下 注 canvas是完全沒有繪圖的工作,繪製的工作全部都交給js,canvas僅僅是乙個畫布而已...

html5 中的 canvas 繪製橢圓的方法

引用 html5中的canvas並沒有直接提供繪製橢圓的方法,下面是對幾種繪製方法的總結。各種方法各有優缺,視情況選用。各方法的引數相同 該方法利用橢圓的引數方程來繪製橢圓 用引數方程繪製橢圓 函式的引數x,y為橢圓中心 a,b分別為橢圓橫半軸 縱半軸長度,不可同時為0 該方法的缺點是,當linwi...