12

When drawn with the black brush with 50% of transparency, this color (when picked by color picker) recognized as gray color (128,128,128 rgb).

How to remove transparency to get black color?

What I managed for now is:

  1. Duplicate layer until there's no transparency and then pick color
  2. (theoretically): export to gif format, then open this gif and pick color with removed transparency

Is there more convenient method to find brushed transparent color value without transparency?

I'm using photoshop7

Here's some illustration-demonstration

(source: adelavida.com)

4
  • You can also read this info form channels directly
    – joojaa
    May 23, 2015 at 18:07
  • Photoshop 7 is 13 years old!!!
    – MG_
    May 24, 2015 at 9:14
  • @MG i'm conservative =)
    – el Dude
    May 24, 2015 at 13:22
  • A photoshop 7 is still a very usefull tool.
    – Rafael
    May 25, 2015 at 17:22

6 Answers 6

9

Any level's transparency can be edited by transforming the layer transparency into a layer mask:

Layer > Layer Mask > From Transparency

So if we use image from @joojaa's answer:

This is what we get:

If you want to remove the transparency, you can just right click the mask and choose Delete Layer Mask. You can also disable the mask, use any tools to edit it etc.

4

Photoshop GUI is a bit unproductive for this problem. The data is there, its just extremely hidden*. The straight color can be read though its just a bit convoluted. If you need this often for whatever purpose record following action (I need this pretty often for 3D work):

  1. Preparation Hide layers you don't want flatten for straight color.

    --Start recording--

  2. Choose Image -> Calculations

    1. Set Both Modes to merged
    2. Both channels to red
    3. Result new channel
  3. Repeat step 2 for green
  4. Repeat step 2 for blue
  5. make new layer, fill it with any solid color
  6. Copy the created channels over to Red, Green and Blue channels.

You now have a layer without alpha.

Starting point

Image 1: This is what I have as a starting point. Note: The png has alpha.

No alpha

Image 2: Alpha channel removed, note i had some slightly colored pixels in there (I wondered why it trimmed that way). Note Photoshop defaults to white. You can also clearly see the dithering Photoshop makes.

This soould work in every PS version I have ever used.

PS: If you save the alpha separately and export a unmultiplied image.

* Presumably they dont want you to work on this level of processing. As if the world would collapse if transparent pixels did have color.

9
  • 1
    I think it's much simplier to export to gif, then open it and pick the colors with color picker
    – el Dude
    May 27, 2015 at 14:02
  • 1
    @elDude Only the first time, once you have recorded this it on button push away. The Gif trick also only works for 256 colors if you have more colors all bets are off. Like i said photoshop is a bit unconductive as it tries its best to preserve the illusion of transparent pixels.
    – joojaa
    May 27, 2015 at 15:12
  • You're right about 256
    – el Dude
    May 27, 2015 at 18:42
  • Step 4 should be "blue". Also, make sure that blend mode is set to "Normal". Mar 22, 2016 at 19:27
  • @StevenVachon partially fixed.
    – joojaa
    Mar 22, 2016 at 19:38
3

Update some time later.

I found a method separate the RGB values from the transparency to use it as a mask. Take a look at this answer: Is there an "inverse eraser" tool on Photoshop?


Don't flatten the image, don't reduce the colors exporting to gif.

Actually, it is a more interesting question that I originally thought.

I made some tests. Yes, it measures 127 on all channels. I thought it was gray but when I saw the levels on that layer it is actually black.

I think there is no way to change the opacity to 200%.

The workaround is to duplicate this layer several times and combine them. The first time the value were 63 and decreasing. When I have 7 duplicates (including the original the values is 1 and on the 8th duplicate its finally 0.

So an answer is (for this case) duplicate it 7 more times and combine the layers again. The number of combined layers depends on the maximum transparency you have and you need.

Keeping this method will allow you to preserve smooth borders and additional transparencies, for example, some internal transparency.

5
  • Your result is wrong. What result should be is at this picture photo.adelavida.com/Dir003/SemiPix.gif
    – el Dude
    May 27, 2015 at 9:16
  • My result is right. What you are posting in your image is not 50% to 100% opacity It is everyrhing to 100%, what was NOT in the original post. In the brush you used you choose not only 50% transparency but also you choose a SOFT brush. Which has another aditional transparency.
    – Rafael
    May 27, 2015 at 13:33
  • Do exactly the same procedure some times more. Instead of 8 times try another 20 or whatever transparency your object has.
    – Rafael
    May 27, 2015 at 13:39
  • One aditional note. Any "lets make all transparency flat black" will remove also any trace of anti alias, which is a gradual transparency.
    – Rafael
    May 27, 2015 at 13:57
  • what I'm posting is 100% black color with different levels of transparency and photoshop knows that (see gif result in second frame) =)
    – el Dude
    May 27, 2015 at 13:58
0

Unless the pixel you are looking at is on its own layer, it is impossible to tell whether the colour was applied as a low-opacity "pure" colour or a full-opacity mixed colour. In your example, a pixel that was the result of using 50% opacity black on a white background is identical to a pixel that resulted from applying 50% grey (or, rather, (128,128,128)) at 100% opacity. If the pixel is on a separate layer and you turn off all other layers that contribute to that pixel's value, the colour picker will reflect the colour actually used.

1
  • but export to gif gives exact color value with no transparency. I need to get it without exports and similar stuff. I'm amazed that such simple thing is so complicated to get
    – el Dude
    May 23, 2015 at 18:28
-1

Getting the RGB value of a pixel should be easy, but it isn't because Photoshop premultiplies the alpha as layer transparency, and does not let you access the RGB channels without the transparency applied. I can think of a few techniques to get there, an easy one is to use Flaming Pear's Solidify-B plugin (free).

For clarity, Solidify-B attempts to fill the empty areas of a transparent layer with a pattern that makes sense visually. It is often used to expand opaque areas beyond their original boundaries so that you don't get black and white artefacts when rendering 3D elements. It's a happy accident that the plugins gives you the exact RGB value for semi-transparent pixels.

2
  • THis is not true, the data is straight. And you can read the date from channels menu. Anyway it does not SAVE it strraight in most formats. That can easily be circumvented.
    – joojaa
    May 27, 2015 at 10:00
  • Note i didnt downvote becasue i think PS is a bit braindead in this regard. And not many people know how tod o this.
    – joojaa
    May 27, 2015 at 10:08
-1

If you need eaxctly what you get when exporting to gif, then just flatten image. Layer->Flatten Image.

If you want to make 100% black from your gray brush stroke on new layer: 1. Select layer with brush stroke 2. Go Select -> Color Range... 3. Click with color sampler on your brush stroke and adjust selection level with Fuzziness slider. Click Ok. 4. Make new layer. 5. Go to Edit -> Fill... -> Select from Contents dropdown Color and select black color. Click Ok.

9
  • Can you please explain a bit about what this will do or provide an example? It will make the quality of your answer get much better May 23, 2015 at 14:58
  • It's actually pretty simple so I don't know what to explain more. You have a layer with color + transparency. If you flatten image, you will remove transparency, but will get precise color. In you example if it was 50% gray rgba(255,255,255,0.5) then with flattening it will become simply rgb(128,128,128) without transparency option.
    – mrserge
    May 23, 2015 at 15:02
  • mrserge, flatten does nothing, because 50% transparent black will give 128,128,128 after flattening, I need 0,0,0
    – el Dude
    May 23, 2015 at 18:26
  • 2
    @mrserge: Flattening the image destroys any chance of obtaining the original colour, because it converts RGBA to straight RGB.
    – MG_
    May 24, 2015 at 9:17
  • You can flatten copy of image. Image -> Duplicate.
    – mrserge
    May 24, 2015 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.