html5 绘制类似墙型的背景

最近开发的项目中要使用html5绘制各种虚线包括贝塞尔虚线、圆形虚线、各种虚线段,还包括各种形式的背景墙,截图如下:

从这张图片中可以看出有很多种形式的虚线和背景墙,下面主要介绍一下墙型背景,如下如:

这中背景图有一定的规律,首先应该绘制一个矩形,填充色为蓝色,然后在矩形上面绘制背景墙。

背景墙的绘制步骤如下:

1、绘制横线

2、绘制竖线

3、进行描边

上述三个步骤中不叫麻烦的是绘制竖线,但是如果绘制过下图所示的背景就简单很多了:

这个就是绘制竖线了,设置好的线宽就能看起来很不错了。下面给出绘制墙型的源码:

/**
 * 绘制墙
 * @param context
 * @param x
 * @param y
 * @param width
 * @param height
 * @param color
 */

function drawWall(context,x,y,width,height,color)
{
    var space = 5;
    var indexx = width/space;
    var indexy = height/space;
    var isEven =false;
    context.beginPath();
    for (var i = 0; i < indexx; i++) {
        //是否偶数条数据
        if(isEven)
        {
            for (var j = 1; j < indexy; j+=2) {
                context.moveTo(x + space * i, y + space * j);
                context.lineTo(x + space * i, y + space * (j+1));

            }
        }
        //奇数条数据
        else
        {
            for (var j = 0; j < indexy; j+=2) {
                context.moveTo(x + space * i, y + space * j);
                context.lineTo(x + space * i, y + space * (j+1));
            }
        }
        isEven=!isEven;
    }
    for(var t= 0;t<indexy;t++)
    {
        context.moveTo(x,y+t*space);
        context.lineTo(x+width,y+t*space);
    }
    context.lineWidth=1;
    context.strokeStyle=color?color:'red';
    context.stroke();
}

在上面的代码中可以很明确的看出绘制步骤。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 10:16:55

html5 绘制类似墙型的背景的相关文章

HTML5 绘制具有颜色和透明度的矩形

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/33341413 一.自定义画笔样式 如果想为形状图上颜色,需要使用以下两个重要的属性. fillStyle : 设置下来所有fill操作的默认颜色. strokeStyle : 设置下来所有stroke操作的默认颜色. 二.绘制具有颜色和透明度的矩形 <!DOCTYPE html> <html> <head> <meta http-equiv=&

利用html5实现类似微信的手机摇一摇功能

利用html5实现类似微信的手机摇一摇功能,并播放音乐. 1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2.  deviceMotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据. 不多说直接上代码, Javascript: [javascript] view plaincopy var SHAKE_THRESHOLD = 3000; var last_update = 0;

HTML5绘制空心的文本

1.设计源码 <!doctype html> <html> <head> <meta charset="utf-8"> <title>HTML5绘制空心的文本</title> <script type="text/javascript"> /** * 绘制空心的文本 */ function drawHollowText() { //找到<canvas>元素 var can

一款由html5 canvas实现五彩小圆圈背景特效

之前介绍了好几款html5 canvas实现的特效.今天要为大家介绍一款由html5 canvas实现五彩小圆圈背景特效.五彩的小圆圈渐显渐失的特效.效果图如下: 在线预览   源码下载 html代码: <canvas> </canvas> <div id="Circle"> <span>Harris Carney<span> </div> css代码: body { margin: 0; overflow: hi

HTML5 绘制图片

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/33344289 一.绘制图像 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本. drawImage(image,x,y) : 在canvas中(x,y)处绘制图片. drawImage(image,x,y,width,height) : 在canvas中(x,y)处绘制图片,并将其缩放到指定的宽度和高度. drawImage(image,source

HTML5实现类似刮刮卡的功能

HTML5实现类似刮刮卡的功能 有这样一个功能,当我们使用微信公众号,发送图片时......此处省略300字! 注意要点设置: 1.设置用户缩放:user-scalable=no|yes <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" /> 2.禁止拖动: docu

html5 绘制椭圆

最近的项目要使用html5 绘制椭圆,参考网上的例子发现可以使用贝塞尔曲线绘制,不过要绘制四条贝塞尔曲线. 在html5的过程中发现可以使用绘制圆形的方式来绘制椭圆 html5中绘制圆的函数如下: arc(x,y,r,start,end,clockwise);具体函数的含义请自行查看, 实现的具体代码如下: /** * * @param x 中心 x坐标 * @param y 中心 y坐标 * @param a 椭圆 a * @param b 椭圆 b * @param arcStart 起始角

Html5 绘制五星红旗

Html5+JavaScript 在Canvas上绘制五星红旗,具体思路如下图所示: 绘制思路在上图中已有说明,具体代码如下: 1 <script type="text/javascript"> 2 3 //绘制五角星,其中一点垂直向上,相隔的点相连,即可绘制. 4 function drawStar(ctx,starCenterX,starCenterY,starRadius) { 5 var aX = starCenterX; 6 var aY = starCenter

Html5绘制时钟

最近在对Html5比较感兴趣,就用空闲时间做一些小例子进行练习,今天绘制一个走动的时钟,具体如下图所示: 具体思路在上图已有说明,代码如下: 1 <script type="text/javascript"> 2 3 //绘制圆形的弧度,ctx 为绘制环境,x,y为绘制中心,r为绘制半径,st为起始弧度,end为结束弧度 4 function circle(ctx, x, y, r, st, end, w) { 5 ctx.lineWidth = w; 6 ctx.begi