32bit PNG to libpng.dll Thread last updated on 2003-12-20 15:58:53

Posted by member 32930 on 2003-12-10 15:07:47

Will LS support 32bit(with alpha channels) PNGs without any external modules like layercut.dll

Posted by member 1 on 2003-12-10 15:31:29 link

alpha support is handled in very few modules...however...32 bit PNGs are supported by all.

Posted by member 182 on 2003-12-10 20:01:42 link

actually DeViLbOi, only 24 bit png images are supported.

a 32 bit png contains an 8 bit alpha layer, which at the moment only shortcut2 and layercuts support.

*edit*

when i say support, i mean display properly. those which don't will ignore the 8bit alpha layer, and instead of blended edges, you'll get full black (or white, depending on the module) in its place.

Posted by member 1 on 2003-12-10 20:13:08 link

ah...my bad. Thanks psynapse

Posted by member 35 on 2003-12-10 20:33:43 link

and i think you meant shortcut3

skinbox, and rainy's modules support it too.

Posted by member 99 on 2003-12-10 20:44:17 link

The alpha channel needs to be handled by the code that creates/paints the window. The core is only responsible for loading the images, which it does just fine for 32-bit pngs.

So no, LS will not support PNGs w/alpha without any external modules.

Posted by member 7223 on 2003-12-11 00:33:26 link

@sryo: Skinbox doesn't support png's alpha chanel. It only deals with an alpha value for the whole image

Posted by member 35 on 2003-12-11 09:42:27 link

i thought it did :/ need to read more carefully the manuals

Posted by member 99 on 2003-12-11 11:45:10 link

@smurth: It should. Create the box with the #L flag or set the alpha to 254.

Posted by member 182 on 2003-12-11 17:50:46 link

ah interesting.
so by what you're saying RabidCow, the LS core supports 32bit images, but it's actually a majority of modules only supporting 24bit images which is the problem

Posted by member 7223 on 2003-12-12 10:06:03 link

@RabidCow: I'm talking about layered png

Posted by member 7223 on 2003-12-20 12:26:23 link

@RabidCow: hmm, sorry josh, I didn't noticed it works so fine now. I was pinned to the old skinbox behavior...

You're the best, man !!!
You already was, but now, more than ever.

Update: It seems that #l skinboxes doesn't support module hooking :(
but you're still the best :)

Update2: hmm, I can't hook a skinbox into another :(

Posted by member 99 on 2003-12-20 15:35:14 link

!SkinBoxLoadBoxHook creates a new window, if you've created an existing window with #L, you'll have 2 different skinboxes with the same name. (maybe it should be different, but that's how it works now)

You can hook one skinbox into another like this:
!SkinBoxCreate outer $etc$
!SkinBoxExec outer !SkinBoxLoadBoxHook name=inner : {@ih}
!SkinBoxMove inner $x$ $y$ $width$ $height$

and I think you have to assign an image, there seems to be a bug with painting these child windows with solid colors.

I'm sorry, skinbox's code is really a mess...

Posted by member 7223 on 2003-12-20 15:58:53 link

hmm, I didn't noticed the "name=... :"

Thanks.