首页 期权学习期权知识正文

HTML5对图像像素点的操作 验证码干扰点实现思路

xiaojiucai 期权知识 2020-08-18 446 0

HTML5对于像素级处理的能力已经支持得很好,完成可以实现客户端对像素信息的操作。所以为了解决以上问题最近对系统做了一次比较大的升级。即客户端端直接操作DICOM的像素数据进行JS端图像的生成以及JS端实现窗宽窗位的调整。下面说一下HTML5对图像像素点的操作和验证码干扰点实现思路。

<canvas id="canvas" width="800" height="500"></canvas>

<script type="text/javascript">

var canvas = document.getElementById('canvas');

var cv =canvas.getContext('2d');

//接下来画个长方形当做它背景,然后获得画板像素信息(画个背景容易能看到它)

cv.fillStyle = '#272822';

cv.fillRect(0,0,800,500);

//获得图像的所有的像素点的信息

var alldata = cv.getImageData(0,0,800,500);

//alldata.data

//255,22,33,255相当于rgba 前面三个是颜色,后面这个数是透明度

//[255,22,33,255,255,22,33,255]

//循环,将获得的数据的每个值都随机

for (var i=0; i<alldata.data.length;i++){

//随机0~255之间的随机整数(下面随机整数公式走起)

//var num = Math.floor(Math.random()*(y+1-x)+x)

//y这里是255,x这里是0

//var num = Math.floor(Math.random()*(255+1-0)+0)

//代码精减一点就是

//var num = Math.floor(Math.random()*(255+1));

//再精减(这样就获得随机整数)

var num = Math.floor(Math.random()*(256));

//然后再把alldata它里面的data这里的[i]号改成随机数

alldata.data[i] = num;

}

//将处理后的数据存储回画板

cv.putImageData(alldata,0,0)

</script>

图片展示:

原文链接:https://www.qiquanji.com/post/7746.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论