JavaScript实例分享之----画随机像素图。随机像素图(作者自己取得名字)指的是一张图片上每一个像素的颜色都是随机的。此时应该能联想到这幅图多么眼花缭乱,好吧,我们用JS来实现它的原因是JS很方便,而且自带了一个canvas(画布)API,比较实用。

好,先上成果,为了避免XSS攻击的怀疑,代码我将以图片的形式公布:


然后效果如图:


看到了吧,短短12行JS代码成就了一幅十分美好的图。其实实现代码也很简单,让我们仔细看看。
首先,我们建一个画布,因为默认是300*150嫌小,我们调整到600*600;
然后我们用一个JS变量ctx来锁定画布的“画笔”,准备画一个500*500的随机像素图;
再然后我们只需要在这250000个像素中随机填入颜色即可;
之后,我们运用两层循环来遍历这些像素;
再之后,我们为每一个像素的rgb分量分别写入0~255的随机数,也就是Math.floor(Math.random()*256);
因为取整函数floor取到0而娶不到1,所以是256;
最后我们用矩形工具fillRect完成了图像的绘画;
下面来张放大图:


是不是很刺激!

!JS实战之随机像素图的更多相关文章

  1. 《Node.js实战(双色)》作者之一——吴中骅访谈录

  2. Gremlins.js – 模拟用户随机操作的 JS 测试库

    Gremlins.js 是基于 JavaScript 编写的 Monkey 测试库,支持 Node.js 平台和浏览器中使用.Gremlins.js 随机模拟用户操作:单击窗口中的任意位置,在表格中输 ...

  3. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  4. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...

  5. iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

    安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...

  6. vue.js实战——购物车练习(包含全选功能)

    vue.js实战第5章 54页的练习1 直接放代码好了,全选的部分搞了好久,代码好像有点啰嗦,好在实现功能了(*^▽^*) HTML: <!DOCTYPE html> <html l ...

  7. 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能

    大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...

  8. Node.js实战(二)之HelloWorld示例

    经过前面的Node.js实战(一)之概述 想必你应该对Node.js的概念.应用场景.优缺点等有个大致的了解,同时你本地Windows或者Linux上已经准备好了Node.js环境. 下面我们来进入每 ...

  9. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404), ...

随机推荐

  1. 设置双击直接打开.ipynb文件

    本文环境:win10(64)+anaconda3(64) anaconda3安装好后,可在开始菜单下查看 背景:jupyter notebook打开后无法更改路径,只能在默认路径下upload文件(如 ...

  2. 剑指offer---包含min的栈

    思路:该题主要是补充栈的min方法,例如:栈有pop.push.peek等内置方法,每次调用这些方法就能返回个结果或者有个响应,本题意在补充min方法,使得每次调用min方法都能得到栈中最小值,保证每 ...

  3. android.intent.action.MAIN与android.intent.category.LAUNCHER

    android.intent.action.MAIN 决定应用程序最先启动的Activity android.intent.category.LAUNCHER 决定应用程序是否显示在程序列表里 在网上 ...

  4. BPM与OA的区别及联系

    BPM与OA的区别及联系 近年来,在企业管理信息系统一些名词反复被提及,然而外行人对于这些名词则是一头雾水,网上的解释又鱼龙混杂,没有绝对权威的文献可供参考,因此也就让我们对这些名词的认识越来越模糊. ...

  5. 运行和控制Nginx

    Nginx命令行选项 启动.停止.重启nginx命令 如何重新加载nginx配置文件 nginx程序不重启平滑升级可执行文件   nginx命令行参数 不像许多其他软件系统,Nginx 仅有几个命令行 ...

  6. Android App 压力测试 monkeyrunner

    Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...

  7. 关于curl / curl_multi的一些实验

    几天没写了,主要都是自己的学习过程,贴一下curl / curl_multi_exec的一些代码,mark一下. <?php /** * Created by PhpStorm. * User: ...

  8. 2017年最好的JavaScript库

    iTour 它让你有机会告诉你任何接口的功能.此外,这个插件可以执行教学,显示任务的功能,提示你做什么和跟进任务的执行.这是他所有类似软件中最灵活和功能最强的插件. Popper.js 这是屏幕上的一 ...

  9. 解决若要安装 Microsoft Office 2010,需要MSXML 版本 6.10.1129的问题

    单击 开始单击 运行键入 注册表编辑器然后单击 确定. 找到HKEY_CLASSES_ROOT\TypeLib\{F5078F18-C551-11D3-89B9-0000F81FE221}\6.0\0 ...

  10. Pyspark的HBaseConverters详解

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/7449682.html 转载请注明出处 最近在折腾pyspark的HbaseConverters,由于资料 ...