我已经可以将32位整数转换为它们的rgba值,如下所示:
pixelData[i] = {
red: pixelValue >> 24 & 0xFF,
green: pixelValue >> 16 & 0xFF,
blue: pixelValue >> 8 & 0xFF,
alpha: pixelValue & 0xFF
};
但我真的不知道如何扭转它。
我已经可以将32位整数转换为它们的rgba值,如下所示:
pixelData[i] = {
red: pixelValue >> 24 & 0xFF,
green: pixelValue >> 16 & 0xFF,
blue: pixelValue >> 8 & 0xFF,
alpha: pixelValue & 0xFF
};
但我真的不知道如何扭转它。
要反转它,您只需将字节组合成一个整数。 只需使用左移并添加它们即可。
var rgb = (red << 24) + (green << 16) + (blue << 8) + (alpha);
或者,为了使其更安全,您可以首先使用0xFF和每个它们:
var r = red & 0xFF;
var g = green & 0xFF;
var b = blue & 0xFF;
var a = alpha & 0xFF;
var rgb = (r << 24) + (g << 16) + (b << 8) + (a);
(您可以使用按位OR |
代替 +
在这里,结果将是相同的)。
要反转它,您只需将字节组合成一个整数。 只需使用左移并添加它们即可。
var rgb = (red << 24) + (green << 16) + (blue << 8) + (alpha);
或者,为了使其更安全,您可以首先使用0xFF和每个它们:
var r = red & 0xFF;
var g = green & 0xFF;
var b = blue & 0xFF;
var a = alpha & 0xFF;
var rgb = (r << 24) + (g << 16) + (b << 8) + (a);
(您可以使用按位OR |
代替 +
在这里,结果将是相同的)。