【发布时间】:2014-05-20 02:47:13
【问题描述】:
我看到您之前曾帮助大卫解决镜像画布问题。 Canvas - flip half the image
我有类似的问题,希望你能帮助我。 我想在我的网络摄像头画布上应用相同的镜像效果,但不是左侧,而是取图像的右半部分,将其翻转并将其应用到左侧。
这是您为 David 发布的代码。它也适用于我的网络摄像头 cancas。现在我尝试更改它,以便它适用于另一方,但不幸的是我无法得到它。
for(var y = 0; y < height; y++) {
for(var x = 0; x < width / 2; x++) { // divide by 2 to only loop through the left half of the image.
var offset = ((width* y) + x) * 4; // Pixel origin
// Get pixel
var r = data[offset];
var g = data[offset + 1];
var b = data[offset + 2];
var a = data[offset + 3];
// Calculate how far to the right the mirrored pixel is
var mirrorOffset = (width - (x * 2)) * 4;
// Get set mirrored pixel's colours
data[offset + mirrorOffset] = r;
data[offset + 1 + mirrorOffset] = g;
data[offset + 2 + mirrorOffset] = b;
data[offset + 3 + mirrorOffset] = a;
}
}
【问题讨论】:
-
您是否尝试过从 width / 2 开始第二个 for 循环并在此之前结束它?至于 (var x = width / 2; x
标签: javascript canvas