/**
* 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. sql server紧急状态下登录脚本

    --打开xp_cmdshell功能  EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)    @configv ...

  2. CSS之form&span

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 一切为了落地,为什么要把PP.io设计成三个阶段!

    之前的一篇文章,我讲解了PP.io的三个阶段:“强中心”,“弱中心”,“去中心”.今天来解释下,我为什么要分三个阶段逐步实现PP.io去中心化存储网络: 简单地说,就是在区块链不可能三角理论中,我暂时 ...

  4. mybatis的动态sql编写以及一对一关系查询和一对多的查询

    创建mybatis数据库,运行以下sql语句 /* SQLyog Ultimate v8.32 MySQL - 5.5.27 : Database - mybatis **************** ...

  5. C语言中的作用域,链接属性和存储类型

    作用域 当变量在程序的某个部分被声明的时候,他只有在程序的一定渔区才能被访问,编译器可以确认4种不同类型的作用域:文件作用域,函数作用域,代码块作用域和原型作用域 1.代码块作用域:位于一对花括号之间 ...

  6. React开发笔记

    项目环境搭建 使用create-react-app CSS使用styled-components yarn add styled-components 引入reset.css样式 import { c ...

  7. vue+窗格切换+田字+dicom显示_02

    环境:vue+webpack+cornerstone ide:vs code 需求:窗格设置+拼图设置 分析: 由于时间的原因,我也没有Baidu更好的显示窗格的方法,所以使用比较笨的方法,通过组件显 ...

  8. Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6

    目录 Ubuntu16.04 Installl 1. 安装环节 2. 安装卡死 3. NVIDIA显卡安装 2. CUDA Install 3.Cudnn7.05 Install 4.Tensorfl ...

  9. ubuntu 16.04 mysql5.7.17 开放远程3306端口

    ubuntu 16.04 mysql5.7.17 开放远程3306端口 原创 2017年01月19日 20:33:27 标签: mysql / ubuntu 2644 开启mysql的远程访问权限 默 ...

  10. JAVA多线程17个问题

    1.Thread 类中的start() 和 run() 方法有什么区别? Thread.start()方法(native)启动线程,使之进入就绪状态,当cpu分配时间该线程时,由JVM调度执行run( ...