如何合并 Alpha 蒙版和 RGB 图像

How to merge Alpha mask and RGB image

我有两张图片。 一个是 RGB 文件,另一个是 Alpha 通道文件。

from PIL import Image
 
name = 'char_101_sora_2'
 
image = name+'.png'
mask = name+'[alpha].png'
 
img = Image.open(image)
mas = Image.open(mask)
 
pixdata_img = img.load()
pixdata_mas = mas.load()
 
for y in range(mas.size[1]):
    for x in range(mas.size[0]):
        pixdata_img[x, y] = (pixdata_img[x, y][0], pixdata_img[x, y][1], pixdata_img[x, y][2], pixdata_mas[x, y][2])
 

此代码是Python执行此操作的。 但是我看不懂,谁能解释一下或者改写成Java?

        for (int h = 0; h < image.getHeight(); h++) {
            for (int w = 0; w < image.getWidth(); w++) {
                skadi.setRGB(w, h,
                        (((alpha.getRGB(w, h)) & 0xFF) << 24) |
                                (((image.getRGB(w, h) >> 16) & 0xFF) << 16) |
                                ((((image.getRGB(w, h) >> 8) & 0xFF) << 8) |
                                        (image.getRGB(w, h) & 0xFF)));
            }
        }

下面是这个问题的简单解答。
也在这里:Merge Alpha Mask and RGB Image with Java