来源:自学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