最近开发的项目中要使用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+1));

}

}

isEven=!isEven;

}

for(var t= 0;t

{

context.moveTo(x,y+t*space);

context.lineTo(x+width,y+t*space);

}

context.lineWidth=1;

context.strokeStyle=color?color:'red';

context.stroke();

}

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

html设计一个图片墙,html5 绘制类似墙型的背景相关推荐

  1. Android设计一个图片加载框架

    本文不是具体编码去实现一个图片加载的框架,而是从理论上来讲解设计一个图片加载框架的注意事项和涉及的知识点,提供一个思路,或者帮助童鞋们应付面试.目前Android 发展至今优秀的图片加载框架太多,例如 ...

  2. 自己设计一个图片加载框架

    尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/53064858, 本文出自:[gengqiquan的博客] 项目使 ...

  3. 用Qt设计一个图片浏览器

    本人分享的是不用ui界面的图片浏览器,它可以从系统文件里面选取各种格式的图片(可以自己设置),然后点击左右的按钮来浏览这些图片,而且还支持图片多选的功能. 以下是Widget.h中的代码: #ifnd ...

  4. java 员工类算工资_用java设计一个员工类,可以计算工资个人所得税

    用java设计一个员工类,可以计算工资个人所得税 1. 背景 老师在课上布置了几道java编程题,此为其中之一 2. 题目内容 设计一个员工类.该员工具有下列私有属性:编号,姓名,基本工资,奖金  提 ...

  5. html 图片右侧空白,CSS缩小窗口时,背景图出现右侧空白

    CSS让背景平铺的代码 repeat-x ,也就是沿着X方向重复下去(横向平铺): repeat-y (纵向平铺){ background-p_w_picpath: url 关于宽度自适应,已经是前段 ...

  6. CSS3来绘制一个3维立体游泳圈_立体墙绘画绘制技巧来了,襄阳墙体彩绘公司介绍...

    立体墙绘给人的感觉是想一个生活中真实的物体,和平面画相比,立体画是较为吸引他人.因为平面化没有让人觉得是一个动态的感觉.立体画大家也知道是不好进行绘制,所以下面由襄阳艺术彩绘公司为大家介绍立体画的绘制 ...

  7. 如何去设计一个自适应的网页设计或HTMl5

    如何去设计一个自适应的网页设计或HTMl5 如今移动互联网随着3G的普及,越来越火爆,更多需求跟随而来!APP应用市场和APP应用数量成倍成倍的增长!从而给移动互联网带来新的挑战! 移动设备正超过桌面 ...

  8. 设计图片转换html5,在HTML5中翻转图片

    貌似 HTML5 的 Canvas 只提供了图片的旋转.缩放功能,没有提供图片翻转(水平翻转或垂直翻转)的支持,搜索加试验之后,得到几种实现图片翻转的方法,记录一下. 第一种最简单的是使用 CSS,代 ...

  9. 大白用html5制作,别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感!...

    别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感! 都认为墙面是装修中最简单的一个,但它可是有很多小细节需要注意,如果家里整体是以浅色装修为主,那不同颜色和质地的墙面设计带来的感受也会有所不同,像 ...

最新文章

  1. 我的世界正版moba服务器,《我的世界》需要氪金?反观《迷你世界》才知道差距!...
  2. Citrix各系列产品安装光盘资源下载链接
  3. [算法系列之二十六]字符串匹配之KMP算法
  4. OpenShift Express Web管理控制台:入门
  5. [js] 微信小程序实现轨迹回放,微信原生小程序,基于uniapp的小程序?
  6. mysql ssl jdbc_【MySQLSSLJAVA】关于MySQL开启SSL后,jdbc的配置
  7. 国内外物联网平台初探(篇五:机智云平台)
  8. 音视频开发(19)---Android视频开发基础(一)
  9. Teechart 的用法详解:在VC6.0 跟Visual Studio 2005及之后版本的区别
  10. 5款好用的时间管理软件推荐[2020年推荐]
  11. 058.克鲁斯卡尔(Kruskal)算法的原理以及解决最小生成树问题
  12. 英语句式参考纯享版 - 定语从句
  13. endl 和 cout
  14. hangfire支持mysql_快速入门 - Hangfire.HttpJob 中文文档
  15. 点评阿里云盛大云代表的云计算IaaS产业---中国云计算
  16. ARM汇编指令(B/BL/BX)
  17. 用PL/SQL创建图书表
  18. iPad 屏幕镜像到 macbook
  19. MAC OSX 终端添加代理
  20. proteus自动编号方法

热门文章

  1. keyboard键盘demo
  2. 基于socket编程的多人聊天室
  3. Google Chrome源码剖析【序】
  4. ANT发送邮件需要的3个JAR包
  5. 2012.5.3下午
  6. Linux平台OpenGL之helloworld(十)
  7. Ubuntu14.04开启wifi热点(亲测有效)
  8. Fuschia 是什么样的一个操作系统
  9. ios ffmpeg+libx264
  10. python之叠加两个图片