canvas线性变换、颜色和样式选择

1、应用不同的线型

ctx.lineWidth = value; 线条的宽度,默认为1

ctx.lineCap = type; 设置端点样式, type默认为butt,可选值round,square,butt

ctx.lineJoin = type; 设置连接处样式,type默认为miter,可选值round,bevel,miter

ctx.miterLimit = value; 设置绘制交点的方式,miterLimit属性的作用是斜面的长度设置一个上线,默认为10,当斜面的长度达到线条宽度的10倍时,就会变为斜角,如果lineJoin属性值为round或bevel时,miterLimit属性无效。

a、ctx.lineCap

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title></title>
 6 <style type="text/css">
 7 *{padding: 0;margin:0;}
 8 body{background: #1b1b1b;}
 9 #div1{margin:50px auto; width: 300px;}
10 canvas{background: #fff;}
11 </style>
12 <script type="text/javascript">
13 window.onload = function(){
14     draw();
15 };
16 function draw(){
17     var ctx = document.getElementById(‘myCanvas‘).getContext(‘2d‘);
18
19     var lineCap = [‘butt‘,‘round‘,‘square‘];
20     //绘制参考线
21     ctx.strokeStyle = ‘red‘;
22     ctx.beginPath();
23     ctx.moveTo(10,10);
24     ctx.lineTo(10,150);
25     ctx.moveTo(150,10);
26     ctx.lineTo(150,150);
27     ctx.stroke();
28     //绘制直线段
29     ctx.strokeStyle = ‘blue‘;
30     for( var i=0; i<lineCap.length; i++){
31         ctx.lineWidth = 20;
32         ctx.lineCap = lineCap[i];
33         ctx.beginPath();
34         ctx.moveTo(10,30+i*50);
35         ctx.lineTo(150,30+i*50);
36         ctx.stroke();
37     }
38
39 }
40 </script>
41 </head>
42 <body>
43     <div id="div1">
44         <canvas id="myCanvas" width="300" height="300"></canvas>
45     </div>
46 </body>
47 </html>

效果展示:

b、ctx.lineJoin

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title></title>
 6 <style type="text/css">
 7 *{padding: 0;margin:0;}
 8 body{background: #1b1b1b;}
 9 #div1{margin:50px auto; width: 300px;}
10 canvas{background: #fff;}
11 </style>
12 <script type="text/javascript">
13 window.onload = function(){
14     draw();
15 };
16 function draw(){
17     var ctx = document.getElementById(‘myCanvas‘).getContext(‘2d‘);
18
19     var lineJoin = [‘round‘,‘bevel‘,‘miter‘];
20     ctx.strokeStyle = ‘red‘;
21
22     for( var i=0; i<lineJoin.length; i++){
23         ctx.lineWidth = 20;
24         ctx.lineJoin = lineJoin[i];
25         ctx.beginPath();
26         ctx.moveTo(10+i*150,30);
27         ctx.lineTo(100+i*150,30);
28         ctx.lineTo(100+i*150,100);
29         ctx.stroke();
30     }
31
32 }
33 </script>
34 </head>
35 <body>
36     <div id="div1">
37         <canvas id="myCanvas" width="600" height="300"></canvas>
38     </div>
39 </body>
40 </html>

效果展示: 

c、miterLimit

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title></title>
 6 <style type="text/css">
 7 *{padding: 0;margin:0;}
 8 body{background: #1b1b1b;}
 9 #div1{margin:50px auto; width: 300px;}
10 canvas{background: #fff;}
11 </style>
12 <script type="text/javascript">
13 window.onload = function(){
14     draw();
15 };
16 function draw(){
17     var ctx = document.getElementById(‘myCanvas‘).getContext(‘2d‘);
18     ctx.translate(30,40);
19     for( var i=0; i<10; i++){
20         ctx.strokeStyle = ‘#FF5D43‘;
21         ctx.lineWidth = 10;
22         ctx.lineJoin = ‘miter‘;
23         ctx.miterLimit = i*10;
24         ctx.beginPath();
25         ctx.moveTo(10,i*30);
26         ctx.lineTo(100,i*30);
27         ctx.lineTo(10,i*33);
28         ctx.stroke();
29     }
30
31 }
32 </script>
33 </head>
34 <body>
35     <div id="div1">
36         <canvas id="myCanvas" width="300" height="400"></canvas>
37     </div>
38 </body>
39 </html>

效果显示:

时间: 2024-10-21 03:38:46

canvas线性变换、颜色和样式选择的相关文章

css设置滚动条颜色与样式以及如何去掉与隐藏滚动条

我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本人搜集整理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以参考下,很有用的 1 div { 2 scrollbar-face-color: #fcfcfc; 3 scrollbar-highlight-color: #6c6c90; 4 scrollbar-shadow-color: #fcfcfc; 5 scrollbar-3dlight-color:

[js高手之路] html5 canvas系列教程 - 文本样式(strokeText,fillText,measureText,textAlign,textBaseline)

接着上文线条样式[js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)继续. canvas提供两种输出文本的方式: strokeText:描边文本 fillText:填充文本 fillStyle配合fillText使用,strokeStyle配合strokeText使用 strokeText用法: cxt.strokeText( text, x,  y, [maxwidth] ) text:需要输出的文本内

python输出颜色与样式的方法

一.输出颜色与样式的方法 上次遇到这个问题就想写下来,其实当时我也不怎么会,老师说这个东西不需要理解,只需要死记硬背,写的多了就记住了,所以今天搜集了几篇文章,加上自己的理解,写下了这篇python 输出颜色的样式与方法的文章,一方面想自己记录下自己的理解,另一方面想用自己通俗的理解送给需要的盆友. 在写python 程序代码的时候,我们知道python输出的字符串颜色和一般字符相同,但是许多时候,我们需要强调某些字符,就需要把其变为易于认出的颜色或者显著的样子. 格式:"\033[字背景颜色:

canvas -颜色,样式 相关

属性 (6个): fillStyle : color|gradient|pattern - 填充颜色 strokeStyle : color|gradient|pattern  - 边框颜色 shadowColor : color - 阴影颜色 shadowBlur  -  设置或者返回阴影的模糊级别 shadowOffsetX,shadowOffsetY 设置水平和垂直距离 方法(4个): createLinearGradient(x1,y1,x2,y2)  - 创建渐变 createPatt

HTML5 Canvas ( 线段端点的样式 ) lineCap

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

WSDL 样式选择

WSDL 绑定样式可以是 RPC 样式或文档样式.用法可以是编码的,也可以是文字的.您如何决定使用哪一种样式/用法的组合呢?本文将帮助您解决这个问题. Web 服务是通过 WSDL 文档来描述的.WSDL 绑定描述了如何把服务绑定到消息传递协议(特别是 SOAP 消息传递协议).WSDL SOAP 绑定可以是 RPC 样式的绑定,也可以是文档样式的绑定.同样,SOAP 绑定可以有编码的用法,也可以有文字的用法.这给我们提供了四种样式/用法模型: 1.        RPC/编码 2.      

Android TextView字体颜色等样式详解

Android每个TextView的文本都可以设置多种颜色字体 中文字体的设置方法和使用技巧:http://blog.csdn.net/pcaxb/article/details/4733680 SpannableString在TextView中的使用代码 //创建一个 SpannableString对象 SpannableString msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合

3.6html学习笔记之样式选择

1.元素选择器 *{padding:0;margin:0;} p,span{} 2.类选择器 *.class{} p.class{} <p class="important class1"> 3.id选择器 #id为x的元素 4.属性选择器 *[title]{color:red}有这个属性的 5.后代选择器: 空格(后代).>(子代).+(紧邻) 子元素 6.伪类选择器: 自身元素 a:visited{} a:link{} a:hover{} a:active{}

iOS TabbarController 设置底部Toolbar图片和文字颜色选中样式

提取公共方法: -(void)createChildVcWithVc:(UIViewController *)vc Title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage { //图片渲染 vc.tabBarItem.title=title; vc.navigationItem.title=title; vc.tabBarItem.image=[UIImage imageNam