欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

HTML5中怎么利用Canvas自定義圓角矩形

本篇文章為大家展示了HTML5 中怎么利用Canvas自定義圓角矩形,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、建華ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的建華網(wǎng)站制作公司

HTML5 Canvas自定義圓角矩形與虛線(RoundedRectangle and Dash Line)

實現(xiàn)向HTML Canvas 2d context繪制對象中添加自定義的函數(shù)功能演示,如何繪制虛線以及控制虛線間隔大小,學(xué)會繪制圓角矩形的技巧。

HTML5 Canvas繪制對象中提供的原生功能沒有實現(xiàn)繪制圓角矩形與虛線的功能,但是通過JavaScript語言的Object.prototype可以實現(xiàn)對對象CanvasRenderingContext2D添加這兩個函數(shù)功能。代碼的演示效果如下:
HTML5 中怎么利用Canvas自定義圓角矩形 
組件fishcomponent.js的代碼如下:

代碼如下:


CanvasRenderingContext2D.prototype.roundRect =
function(x, y, width, height, radius, fill, stroke) {
if (typeof stroke == "undefined") {
stroke = true;
}
if (typeof radius === "undefined") {
radius = 5;
}
this.beginPath();
this.moveTo(x + radius, y);
this.lineTo(x + width - radius, y);
this.quadraticCurveTo(x + width, y, x + width, y + radius);
this.lineTo(x + width, y + height - radius);
this.quadraticCurveTo(x + width, y + height, x + width - radius, y+ height);
this.lineTo(x + radius, y + height);
this.quadraticCurveTo(x, y + height, x, y + height - radius);
this.lineTo(x, y + radius);
this.quadraticCurveTo(x, y, x + radius, y);
this.closePath();
if (stroke) {
this.stroke();
}
if (fill) {
this.fill();
}
};
CanvasRenderingContext2D.prototype.dashedLineTo = function (fromX, fromY, toX, toY, pattern) {
// default interval distance -> 5px
if (typeof pattern === "undefined") {
pattern = 5;
}
// calculate the delta x and delta y
var dx = (toX - fromX);
var dy = (toY - fromY);
var distance = Math.floor(Math.sqrt(dx*dx + dy*dy));
var dashlineInteveral = (pattern <= 0) ? distance : (distance/pattern);
var deltay = (dy/distance) * pattern;
var deltax = (dx/distance) * pattern;
// draw dash line
this.beginPath();
for(var dl=0; dl<dashlineInteveral; dl++) {
if(dl%2) {
this.lineTo(fromX + dl*deltax, fromY + dl*deltay);
} else {
this.moveTo(fromX + dl*deltax, fromY + dl*deltay);
}
}
this.stroke();
};


HTML中調(diào)用演示:

代碼如下:


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=IE8">
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Canvas Rounded Rectangle Demo</title>
<script src="fishcomponent.js"></script>
<link href="default.css" rel="stylesheet" />
<script>
var ctx = null; // global variable 2d context
var imageTexture = null;
window.onload = function() {
var canvas = document.getElementById("text_canvas");
console.log(canvas.parentNode.clientWidth);
canvas.width = canvas.parentNode.clientWidth;
canvas.height = canvas.parentNode.clientHeight;
if (!canvas.getContext) {
console.log("Canvas not supported. Please install a HTML5 compatible browser.");
return;
}
var context = canvas.getContext('2d');
context.strokeStyle="red";
context.fillStyle="RGBA(100,255,100, 0.5)";
context.roundRect(50, 50, 150, 150, 5, true);
context.strokeStyle="blue";
for(var i=0; i<10; i++) {
var delta = i*20;
var pattern = i*2+1;
context.dashedLineTo(250, 50+delta, 550, 50+delta, pattern);
}
}
</script>
</head>
<body>
<h2>HTML5 Canvas Dash-line Demo - By Gloomy Fish</h2>
<pre>Dash line and Rounded Rectangle</pre>
<div id="box_plot">
<canvas id="text_canvas"></canvas>
</div>
</body>
</html>

上述內(nèi)容就是HTML5 中怎么利用Canvas自定義圓角矩形,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:HTML5中怎么利用Canvas自定義圓角矩形
新聞來源:http://www.aaarwkj.com/article22/pcdjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)軟件開發(fā)、網(wǎng)站維護(hù)網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
午夜精品一区二区三区久久| 欧美黑人在线一区二区| 国产视频成人免费观看| 98精品偷拍视频一区二区三区| 日本一区两区三区不卡视频| 久久成人影院免费观看| 台湾三级一区二区三区| 青娱乐青青草91在线| 日韩亚洲国产欧美在线观看| 日本免费精品一区二区三区中| 日本东京热免一区二区| 国产三级三级三级精品8ⅰ区| 亚洲精品一区二区三区高清| 亚洲精品欧美激情专区| 亚洲一区二区三区日韩欧美| 久久精品国产精品日韩欧美| 国产午夜亚洲精品羞羞网站| 国产精品第一区第二区| 国产精品传媒成人免费| 男人av天堂手机在线| 亚洲国产欧美日韩综合| 日韩x级av免费在线观看| 美国一级二级三级黄片| 亚洲日本一区二区高清在线| 亚洲av产在线精品亚洲第| 欧美日韩一级一区二区三区| 亚洲乱人伦一区二区三区| 亚洲午夜经典一区二区日韩| 日韩国产精品亚洲欧美在线| 久久婷婷欧美激情综合| 麻豆剧传媒国产精选av| 亚洲精品在线观看毛片| 熟妇高潮一区二区在线观看| 国产我和子的乱视频亲生| 久久精品国产亚洲av超一| 91精品免费播放在线观看| 久久亚洲精品中文字幕馆| 91精品国产自产永久在线| 久久九特黄的免费大片| av日韩在线一区二区三区| 人妻有码av中文字幕久久|