[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 122868] New: Transparent Borders in Contact List for Buddy PNG
From:       Sebastien <slaout () linux62 ! org>
Date:       2006-02-28 23:00:24
Message-ID: 20060301000022.122868.slaout () linux62 ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
http://bugs.kde.org/show_bug.cgi?id=122868         
           Summary: Transparent Borders in Contact List for Buddy PNG Image
                    with Transparency
           Product: kopete
           Version: unspecified
          Platform: SuSE RPMs
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kopete-devel kde org
        ReportedBy: slaout linux62 org


Version:            (using KDE KDE 3.5.1)
Installed from:    SuSE RPMs

It is possible to get/set an image to a buddy (or a big icon, photo).
This image can be a PNG.
And this PNG can be fully or partially transparent.

Then, in the buddy-list window, when using the very detailed view (big photo + name + \
description + state + proctocol), there is a 1px black border arround those buddy \
images.

But when the image edges are transparent, the border does not appear on transparent \
pixels, and is faded out on semi-transparent pixels.

A picture is worth thousand words:
http://slaout.linux62.org/kde-wishs/msn_picture_transparent.png
The black border appears only when the image edge was not transparent.

BTW: The user with such a transparent budy-photo is using Kopete.
Perhapse MSN does not allow transparency and Kopete should forbid that.

It is due to the fact that QPixmap store the alpha channel in a separate \
pixmap-buffer. Then, when drawing the black border, the alpha channel keep the border \
transparent.

You have three ways to solve it:
- [BLACK BORDER EVERYWHERE]: Transform QPixmap to QImage and manipulate the bits \
                yourself: set the border alpha to opaque. Then transform the QImage \
                back to QPixmap.
- [NO TRANSPARENCY]: Create a white pixmap (in fact, not white, but of the current \
                background color), paint the budy-image over it, and draw the border \
                normally.
- [NO BORDER WHEN TRANSPARENCY]: Choose not to add the black border when the image \
has an alpha channel, because the user wanted a transparent image, so it is not \
marrying well with border.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic