• jan@cosmigo.com

Frame alpha vs layer alpha


#1

I have so far not managed to find a way to draw alpha image information on a project frame basis. It somehow seems to be linked to each layer of the image.

Is there a way I can access and paint the alpha for the frame, and not per layer?

The workaround I’m using now is manually deleting pixels of underlying layers of the layer that is to have semi-transparent pixels in some places, but it’s messy, especially with long animations.

Thanks.


#2

When drawing on a frame then the alpha values are only applied to those pixels. There is no linking over layers or frames. Can you describe in more detail what you do and what happens? Maybe also attach a project file.


#3

Here is an example:
I cannot find how/where to attach a project file, so I uploaded it here:
http://pixel.lu/wp-content/uploads/2019/01/Water.zip

In Water05b, I wanted to make the bottom darker part semi transparent (layer 3).
But since layer 1 and 2 also have pixels in that area, it was only causing layer 3 to be semi-transparent, yet staying opaque because of the pixels in the underlying layers.

The workaround I used was to merge all layers, and manually paint in the transparency (project Water05), since I could not find a frame based alpha, only layer based.
This works, but is not flexible since I cannot edit the different layers anymore.


#4

Uh, yes, I limited the upload file type to image files only to ensure that nobody can upload harmful files. Totally forgot about that.
The project Water05b.pmp does not use alpha transparency but simple transparency. Also a black background is defined (see tab “Background”).

New file: https://www.dropbox.com/s/nbzvcvnhmk3s35q/Water05b.pmp?dl=0
I enabled alpha transparency and disabled the black background for you to see the semi transparency with the background checker pattern.
Also layers 1 and 2 use pixels at the bottom area and are mixed in.
On every layer I reduced opacity to 50% on some pixels. Switch the layers on/off to see how they mix in.

Does this help?

EDIT
image
At the layer window you see the “A” for alpha transparency.
On the canvas you see the semi transparent pixels.


#5

Many thanks for having taken the time to look into the project.
Your version is how I initially went about doing it, which is at the same time very flexible and powerful when wanting to deal with alpha values an a per layer basis, but error prone and time consuming in my case.
Imagine I want a certain color on layer 12 to be 50% transparent for the final image, NOT 50% above whatever is underneath. I would have to paint that alpha 50% grey, and all other 11 layer underneath, exactly on that pixel, black to have 100% transparency to have the effect I need for that pixel on layer 12 at 50%.
I guess what I was looking for was like painting on the A layer of the RGBA channels in Photoshop, which is the same single A layer, whether you have 1 or 100 graphic layers. A massive time savior for painting transparency, yet keeping all layers intact.
But no big deal, it’s fine the way it is, will get used to it.
Thanks again, great support.


#6

I see, you want to replace the alpha values by one single alpha definition. That’s not possible atm.
But… :slight_smile:
At least you can simplify removing all pixel and alpha data for a certain area over all layers with a single step.
Use the brush pick up tool. In the tool settings “Layers to merge” select “visible layers”. Now Select the area with right mouse button (=cut).
This will do two things:

  • pick up all the visible layers merged as a brush
  • erase on every layer that has been used

At least this could help here and there to get rid of all unwanted pixels over layers.
And if you hold Alt then this also works over frames since you then cut out an animated (multi frame) brush. But be sure to enter the number of frames first (hit A and select 16 in your case).
So now you have full empty space over all layers and can apply your 50% transparent color on a layer of your choice.
Also this is possible over frames if you use the fill tool and hit Alt when applying the fill. In your case this works right away. In other cases a selection mask might be required to limit the area.


#7

Thanks for the workflow ideas. Very interesting for many other cases too.