来源:自学PHP网 时间:2018-02-08 09:56 作者: 阅读:次
[导读] 我们可以直接从HTML5 canvas中获取单个像素。通过ImageData对象我们可以以读写一个数据数组的方式来操纵像素数据。当完成像素操作之后,如果要显示它们,需要将这些像素复制到canvas上...
我们可以直接从 中获取单个像素。通过 要创建一个 var canvas = document.getElementById("ex1"); var context = canvas.getContext("2d"); var width = 100; var height = 100; var imageData = context.createImageData(width, height);
上面的例子中创建了一个100x100像素的 在 要读取一个像素的值,你可以使用下面的代码: var pixelIndex = 0; var red = imageData.data[pixelIndex ]; // 红色 var green = imageData.data[pixelIndex + 1]; // 绿色 var blue = imageData.data[pixelIndex + 2]; // 蓝色 var alpha = imageData.data[pixelIndex + 3]; // 透明度 如果要接收后面的像素值,可以增加 var index = 4 * (x + y * width); 在上面的语句中, 下面的图像时一个20像素宽,8像素高的 当你完成了像素操作,你可以使用2D上下文的 var canvasX = 25; var canvasY = 25; context.putImageData(imageData, canvasX, canvasY);
第二种格式的 var canvasX = 25; var canvasY = 25; var sx = 0; var sy = 0; var sWidth = 25; var sHeight = 25; context.putImageData(imageData, canvasX, canvasY, sx, sy, sWidth, sHeight);
我们也可以从canvas上获取一个矩形区域的像素到一个 var x = 25; var y = 25; var width = 100; var height = 100; var imageData2 = context.getImageData(x, y, width, height);
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com