You're never actually blending pixels. You just create a new array, read all it's pixels to an int which you immediately discard, and then you return a new image of the new (black) array.
Maybe in your for loop, you should blend the pixels in the original two images, and then assign them to the corresponding cell in the new array, before you create an image out of it.
I would also suggest the new image's clip becomes the union of the original two images' clips. That means, make it's width the same as the widest of the two original images, and the same for the height.
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.