This question already has an answer here:
I have a grayscale image, and I want to make all the black pixels transparent, keep all the white pixels the same, and make all the grey pixels partially transparent based on how dark they are. In other words, I want to get rid of all the black in this image, but I want it so it looks exactly the same as it did before when it’s on top of a black background. I’ve looked online I found info about how to do this with a layer mask, and it seemed pretty straightforward, but every time I try to do it the result is darker than the original and I’m not sure why. I want it to look exactly the same over a black background as it does now. Can anyone advise me here?
Edit: My question was marked as duplicate, but no matter how much I try the exact instructions in other answers, the result is slightly darker than the original.
Edit 2: I’m going to explain exactly what I’m trying. I have the layer I’m trying to remove black from. It has a transparent background, so I have it in front of a black background layer. I select the entire image and copy merged while only that layer and the black background are visible. Then I create a completely white layer that I put under the layer I want to remover Black from and in front of the white background. I add a layer mask to the new white layer. I go to channels, deselect all and select the mask channel. I paste the image I copied. Then I make the original layer I wanted to remove black from invisible. At this point, I can see the masked white layer in front of the black background, and it looks almost exactly how it should, but slightly darker. When I toggle the visibility of the original layer, it’s clearly slightly brighter. What gives?
The image was not in grayscale mode, but it was truly grayscale. As in, going to image -> adjustments -> black and white, and moving the sliders changes nothing.
Edit3: a play-by-play of what I am trying and the result: