您好,登錄后才能下訂單哦!
今天小編給大家分享一下HTML5怎么實現(xiàn)圓角矩形的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
代碼如下:
//圓角矩形
CanvasRenderingContext2D.prototype.roundRect = function (x, y, w, h, r) {
if (w < 2 * r) r = w / 2;
if (h < 2 * r) r = h / 2;
this.beginPath();
this.moveTo(x+r, y);
this.arcTo(x+w, y, x+w, y+h, r);
this.arcTo(x+w, y+h, x, y+h, r);
this.arcTo(x, y+h, x, y, r);
this.arcTo(x, y, x+w, y, r);
// this.arcTo(x+r, y);
this.closePath();
return this;
}
此函數(shù)的參數(shù),依次是x坐標,y坐標,寬度,高度,圓角半徑。特別要注意最后這個參數(shù)——圓角半徑。
此方法用了4次arcTo畫出了一個圓角矩形,他的每個角的弧度都是一樣的。此圓角矩形的坐標點也是和矩形一樣的左上角,但他的起筆點可不是這里,而是:
你可以去掉其中的某條線,看看此方法的原理。
當然,提醒一下,不論畫什么圖形,都要記得閉合路徑——closePath,避免留下隱患。
這個方法最后有個return this,是為了讓你能使用鏈式語法,如:
ctx.roundRect(200,300,200,120,20).stroke();你不需要的話也可以去掉他。
如果你并不想擴充ContextRenderingContext2D原型,你也可以把這個方法另外做一個函數(shù)。
以上就是“HTML5怎么實現(xiàn)圓角矩形”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。