nanogui: Thread: Usage of Alpha Transparency in PNG Files


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Usage of Alpha Transparency in PNG Files
From: Marius Zwicker ####@####.####
Date: 11 Mar 2009 22:07:04 -0000
Message-Id: <575DFA76-4C85-4677-8188-DD2F62AFF692@numlz.de>

Hi,

I'm trying to use a PNG File with Alpha Channel via  
GrDrawImageFromFile to realize shadows and certain design elements. As  
this seemed not to be implemented in the 0.91 release of nano-X I  
already downloaded and built the latest CVS version. According to this  
mailing list the png-transparency issue should be fixed by now.  
Unfortunately this is not the case (?). When trying the latest  
development version, it leaves out 100% transparent parts (as  
expected) but draws parts with less transparency (e.g. 50%) as pure  
black areas and not semi transparent.

Where's my mistake? All png's were created using photoshop... Please  
help.

Thanks a lot,
Marius Zwicker
Subject: Re: [nanogui] Usage of Alpha Transparency in PNG Files
From: Vladimir Ananiev ####@####.####
Date: 12 Mar 2009 09:49:43 -0000
Message-Id: <ce55079f0903120248q2c311312yef401b6101a45049@mail.gmail.com>

You can try my version of nano-x from here
http://linux-on-sx1.svn.sourceforge.net/viewvc/linux-on-sx1/trunk/target/src/microwin/
As far as I remember not all of the changes were commited to CVS.

On Thu, Mar 12, 2009 at 1:06 AM, Marius Zwicker ####@####.#### wrote:
> Hi,
>
> I'm trying to use a PNG File with Alpha Channel via GrDrawImageFromFile to
> realize shadows and certain design elements. As this seemed not to be
> implemented in the 0.91 release of nano-X I already downloaded and built the
> latest CVS version. According to this mailing list the png-transparency
> issue should be fixed by now. Unfortunately this is not the case (?). When
> trying the latest development version, it leaves out 100% transparent parts
> (as expected) but draws parts with less transparency (e.g. 50%) as pure
> black areas and not semi transparent.
>
> Where's my mistake? All png's were created using photoshop... Please help.
>
> Thanks a lot,
> Marius Zwicker
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
>
>
Subject: Re: [nanogui] Usage of Alpha Transparency in PNG Files
From: "Greg Haerr" ####@####.####
Date: 13 Mar 2009 02:22:36 -0000
Message-Id: <0bc101c9a382$638498c0$6864a8c0@winXP>

: I'm trying to use a PNG File with Alpha Channel via  
: GrDrawImageFromFile to realize shadows and certain design elements. As  
: this seemed not to be implemented in the 0.91 release of nano-X I  
: already downloaded and built the latest CVS version. According to this  
: mailing list the png-transparency issue should be fixed by now.  
: Unfortunately this is not the case (?). When trying the latest  
: development version, it leaves out 100% transparent parts (as  
: expected) but draws parts with less transparency (e.g. 50%) as pure  
: black areas and not semi transparent.

AFAIK, all issues related to the original transparency
bug have long been committed to CVS.  The original issue
related to having a single transparency color (transcolor)
for GIF images.  Pixels with that matched this color would
not be drawn.  The problem resulted from an accepted
contribution that added alpha-channel support.  By
default, the alpha channel is 255, and the color white
(255,255,255) happened to match the default 
no-transparency value of -1.

There were then some other patches (all in CVS)
to make sure that the other image decoders worked
with the new scheme.

However, your problem is one of drawing alpha channels,
which is current supported via a contribution that only
provided alpha channel drivers for certain pixel bpp.

This entire issue brought about the problem of re-architecting
the way(s) nano-X goes about drawing images, originally
using the screen Blit entry point, and now requiring the identical
functionality DrawArea entry point. The original Blit wasn't
required, and the system would draw per-pixel, so that
simple screen drivers could be implemented quickly.  Of course,
this doesn't work well with modern day requirements for
fast blitting with operators and alpha channels.

A quick fix might be to try Vladimir's version, which might
implement the GdBlit engine function differently, calling
the DrawArea function which works with alpha channels.
I don't have access to the source right here, so I can't
comment fully.  Should this work, I or him can add that change
to CVS.

Regards,

Greg
Subject: Re: [nanogui] Usage of Alpha Transparency in PNG Files
From: Marius Zwicker ####@####.####
Date: 13 Mar 2009 19:02:48 -0000
Message-Id: <75231680-9218-4CBD-95D5-6701FE2F8377@numlz.de>

I tried Vladimir's version of nanoX and have not found any differences  
so far – except the usage of a newer freetype version. Thus I wanted  
to ask which versions you suggest to use – especially libpng and libz?

Greetz, Marius
Subject: Re: [nanogui] Usage of Alpha Transparency in PNG Files
From: "Greg Haerr" ####@####.####
Date: 16 Mar 2009 03:37:59 -0000
Message-Id: <01c601c9a5e8$7421fcf0$6864a8c0@winXP>

> I tried Vladimir's version of nanoX and have not found any differences
so far – except the usage of a newer freetype version. Thus I wanted
to ask which versions you suggest to use – especially libpng and libz?

I'm using quite old versions of those libraries - but I don't think they
really have to do with the problem.  We need to take a quick peek
at the engine/devdraw.c::GdDrawImage routine, I think the issue is
that the alpha-channel capable screen driver isn't being called
to draw the image.  All the image decoders end up creating
the same internal image structure (IMAGEHDR).  The engine
GdDrawImage routine then handles this common structure
and uses a couple of methods to draw the image.

Regards,

Greg 

[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.