zoukankan      html  css  js  c++  java
  • 图像文本

    5:图像

                     ctx.drawImage(img,x,y,w,h)

                             :在canvas中引入图片一定在图片加载完成之后再去操作

     //飞鸟动画

                  

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style type="text/css">
    			*{
    				margin: 0;
    				padding: 0;
    			}
    			html,body{
    				height: 100%;
    				overflow: hidden;
    			}
    			body{
    				background: white;
    			}
    			#test{
    				background: white;
    				position: absolute;
    				left: 0;
    				top: 0;
    				right: 0;
    				bottom: 0;
    				margin: auto;
    			}
    		</style>
    	</head>
    	<body>
    		<canvas id="test" width="300" height="300">
    			<span>您的浏览器不支持画布元素 请您换成萌萌的谷歌</span>
    		</canvas>
    	</body>
    	<script type="text/javascript">
    		window.onload=function(){
    			//querySelector身上有坑
    			//拿到画布
    			var canvas = document.querySelector("#test");
    			if(canvas.getContext){
    				var ctx = canvas.getContext("2d");
    				var flag = 0 ;//图片递增
    				var positon = 0;//图片的偏移量
    				//画布全屏
    				canvas.width = document.documentElement.clientWidth;
    				canvas.height= document.documentElement.clientHeight;
    				//首先需要创建一个图片对象
    	            setInterval(function(){
    	            	//定时器,取图片
    	            	positon+=10;
    	            	ctx.clearRect(0,0,canvas.width,canvas.height);
    	            	flag++;
    	            	if(flag == 9)
    	            	{
    	            		flag = 1;
    	            	}
    	            	var img = new Image();
    	                img.src = "img/q_r"+(flag)+".jpg";
    	                img.onload = function(){
    	                	draw(this);
    	                }
    	              
    	            },1000/9)
    	       
    	            function draw(img){
    	            	ctx.drawImage(img,positon,0,img.width,img.height);
    	            	
    	            }
    	            
    	            
    	            } 
    	            
    	            
    	            
    		}
    	</script>
    </html>
    

      

    6:文本:

    ###在canvas中绘制文本

            canvas 提供了两种方法来渲染文本:

                     fillText(text, x, y)

                             在指定的(x,y)位置填充指定的文本

                     strokeText(text, x, y)

                             在指定的(x,y)位置绘制文本边框

                            

    ###文本样式

            font = value

                     当前我们用来绘制文本的样式. 这个字符串使用和 CSS font 属性相同的语法.

                     默认的字体是 10px sans-serif。

                     font属性在指定时,必须要有大小和字体 缺一不可

                    

            textAlign = value

                     文本对齐选项. 可选的值包括: left, right  center.

                     left

                             文本左对齐。

                     right

                             文本右对齐。

                     center

                             文本居中对齐。

                             这里的textAlign="center"比较特殊。textAlign的值为center时候

                             文本的居中是基于你在fillText的时候所给的x的值,

                             也就是说文本一半在x的左边,一半在x的右边

                    

           

            textBaseline = value

                     描述绘制文本时,当前文本基线的属性。

                     top

                             文本基线在文本块的顶部。

                     middle

                             文本基线在文本块的中间。

                     bottom

                             文本基线在文本块的底部。

    ###measureText

            measureText() 方法返回一个 TextMetrics 对象,包含关于文本尺寸的信息(例如文本的宽度)

                    

    ###canvas中文本水平垂直居中

                             var ctx = canvas.getContext("2d");

                                      ctx.fillStyle = "forestgreen";

                                      ctx.font = "40px l"

                                      ctx.textBaseline = 'middle';

                                      var textwidth = ctx.measureText("叼毛兽");

                                      var w = (canvas.width - textwidth.width )/2;

                                      var h = (canvas.height - 40)/2;

                                      ctx.fillText("叼毛兽",w,h); //字体偏移量位置的确定

           

    ###阴影(文本阴影&盒模型阴影)

            shadowOffsetX = float

                   shadowOffsetX 和 shadowOffsetY 用来设定阴影在 X 和 Y 轴的延伸距离,

                     它们默认都为 0。

            shadowOffsetY = float

                   shadowOffsetX 和 shadowOffsetY 用来设定阴影在 X 和 Y 轴的延伸距离,

                     它们默认都为 0。

            shadowBlur = float

                     shadowBlur 用于设定阴影的模糊程度,其数值并不跟像素数量挂钩,也不受变换矩阵的影响,默认为 0。

            shadowColor = color(必需项)

                     shadowColor 是标准的 CSS 颜色值,用于设定阴影颜色效果,默认是全透明的黑色。

  • 相关阅读:
    loadrunner(预测系统行为和性能的负载测试工具)
    SOA(面向服务的架构)
    Acunetix Web Vulnerability Scanner(WVS)(Acunetix网络漏洞扫描器)
    Redis主从复制
    Redis启动方式
    Struts2.5以上版本There is no Action mapped for namespace [/] and action name [userAction_login] associated with context path []
    使用Slf4j集成Log4j2构建项目日志系统的完美解决方案
    Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
    intellij 编译 springmvc+hibernate+spring+maven 找不到hbm.xml映射文件
    MySQL8连接数据库
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9136603.html
Copyright © 2011-2022 走看看