/**
* Created by xianrongbin on 2017/3/9.
* 图片填充
*/
var dom = document.getElementById('clock'),
ctx = dom.getContext('2d'),
cirucle = Math.PI; var bgImage=new Image(); bgImage.src='bk.jpg'; bgImage.onload=function () {
//repeat-x,repeat-y,repeat,no-repeat
var patternStyle=ctx.createPattern(bgImage,'no-repeat');
ctx.fillStyle=patternStyle;
ctx.fillStyle(,,ctx.canvas.width,ctx.canvas.height);
}; /**
* demo2 createPattern 提供一种方式,使得我们可以自己绘制自己喜欢的图案
*/ var dom1 = document.getElementById('canvasItem'),
ctx1 = dom1.getContext('2d'); var backCanvas=createBgCanvas();
var patternOne=ctx1.createPattern(backCanvas,'repeat');
ctx1.fillStyle=patternOne;
ctx1.fillRect(,,ctx1.canvas.width,ctx1.canvas.height); function createBgCanvas(){
var backCanvas=document.createElement('canvas');
backCanvas.width=;
backCanvas.height=;
var backCanvasContext=backCanvas.getContext('2d');
drawStar(backCanvasContext,,,,,);
return backCanvas;
} function drawStar(ctx, x, y, outerR, innerR, rot) {
ctx.beginPath();
for (var i = ; i < ; i++) {
var ourRad = ( + i * - rot) / * cirucle,
innerRad = ( + i * - rot) / * cirucle; ctx.lineTo(Math.cos(ourRad) * outerR + x,
-Math.sin(ourRad) * outerR + y); ctx.lineTo(Math.cos(innerRad) * innerR + x,
-Math.sin(innerRad) * innerR + y);
}
ctx.closePath(); ctx.fillStyle = '#c1c';
ctx.strokeStyle = '#fd5';
ctx.lineWidth = ;
ctx.stroke();
ctx.fill();
}

canvas(五)createPattern的更多相关文章

  1. HTML5 Canvas 绘图

    首先要注意: <canvas> 元素不被一些老的浏览器所支持, 但被支持于Firefox 1.5+, Opera 9+, 新版本的Safari, Chrome, 以及Internet Ex ...

  2. ---JS canvas学习笔记

    context的fillStyle属性 fillStyle=color | gradient | image | canvas |video strokeStyle也有上述属性. 1.color:#f ...

  3. Canvas 笔记(持续更新中)

    1.从线条开始 HTML <canvas id="canvas"></canvas> Javascript var canvas=document.getE ...

  4. canvas填充样式

    填充样式主要针对fillStyle.fillStyle除了可以赋值为color,还可以赋值渐变色,包括线性渐变色和径向渐变色,还是和css3里的内容类似. 一.线性渐变 1.设置线性渐变的填充样式 设 ...

  5. canvas的api小结

    HTML <canvas id="canvas"></canvas> Javascript var canvas=document.getElementBy ...

  6. 探索canvas画布绘制技术

    图片来自KrzysztofBanaś 下面我们开始尝试研究不同的绘图风格和技术 - 边缘平滑,贝塞尔曲线,墨水和粉笔,笔和印章和图案 -等等.事实证明,网上没有太多关于此的内容.在下面的示例中,您请大 ...

  7. HTML5 界面元素 Canvas 參考手冊

    HTML5 界面元素 Canvas 參考手冊 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协 ...

  8. html5图像组合

    一 图像组合 1.绘制阴影 在绘制阴影效果时,需要使用Canvas的多个属性配合完成 shadowBlur设置阴影的迷糊级数 shadowOffsetX设置形状与阴影的水平距离 shadowOffse ...

  9. WPF自学入门(二)WPF-XAML布局控件

    上一篇介绍了xaml基本知识,我们已经知道了WPF简单的语法.那么接下来,我们要认识一下WPF的布局容器.布局容器可以使控件按照分类显示,我们一起来看看WPF里面可以使用哪些布局容器用来布局. 在WP ...

  10. WPF自学入门(六)WPF带标题的内容控件简单介绍

    在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什 ...

随机推荐

  1. SUID、SGID、粘滞位

    粘滞位(Stikybit) +t,只有用户自己可以删除自己创建文件,其他用户只能查看,不能删除.        1:创建两个用户  useradd oo                         ...

  2. py-day2-3 python 字典

    # 字典的value可以是任何值 test = {'k1':'v1', 'k2':True, 'k3':[1,2,3,4,{'t1':'v2','t2':'v3'},5,6], 'k4':(88,99 ...

  3. 黄聪:OTP动态密码_Java代码实现

    OTP认知 动态口令(OTP,One-Time Password)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术,是一种强认证技术,是增强目前静态口令认证的一种非常 ...

  4. springboot+mockito 异常解决方案

    系统启动的异常日志如下 javax.net.ssl.* java.lang.IllegalStateException: Failed to load ApplicationContext at or ...

  5. 2、evaluate-reverse-polish-notation

    题目描述 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are+ ...

  6. 5.IAP - FLASH

    一.Flash与时钟系统的关系            STM32系统时钟:                 HSE 高速外部时钟,电路上焊接的外部时钟,一般是4Mhz-16Mhz,板子上的是8Mhz ...

  7. android AES 加密解密

    import java.security.Provider; import java.security.SecureRandom; import javax.crypto.Cipher; import ...

  8. 一台电脑上配置多个tomcat同时运行

    好使 1 1.配置运行tomcat 首先要配置java的jdk环境,这个就不在写了  不懂去网上查查,这里主要介绍再jdk环境没配置好的情况下 如何配置运行多个tomcat 2.第一个tomcat: ...

  9. Kafka和的安装与配置

    本文主要介绍Kafka的安装与配置: 集群规划 datanode1 datanode2 datanode3 zk zk zk kafka kafka kafka kafka jar包下载地址 http ...

  10. Android 梯形进度条、下载进度条;

    额,Gif有点卡: 梯形.矩形.圆角.背景色.前景色.进度条中的文字都可以改: <?xml version="1.0" encoding="utf-8"? ...