unfortunately not :-( On Mon, Sep 10, 2012 at 2:09 PM, Justin Israel <[email protected]>wrote:
> I have only tried it on OSX. Maybe it wasn't a platform independent > solution. Did it not work, even when using your original QImage approach? > > > > On Sep 9, 2012, at 9:06 PM, Manuel Macha <[email protected]> wrote: > > Hi Justen, > thanks for your reply. > I've tested your code at work on a CentOS 5 box and unfortunately it > doesn't work as expected. > The artifacts are gone, however the icon is coloured black where I'd > expect it to be transparent. > Not sure if it's worth to further pursue this for what I was planning to > do with it. > Thanks for your help, > Manuel > > On Mon, Sep 10, 2012 at 5:04 AM, Justin Israel <[email protected]>wrote: > >> I think the one line that may fix it would be this: >> >> painter.setCompositionMode(painter.CompositionMode_Source) >> >> It tells the painter to just copy the new pixel, without considering the >> destination pixels alpha. It may related to how the drawEllipse handles the >> area outside the shape, over the previously drawn transparent pixels >> >> I didn't need to do it with a pixmap or image first, but then again I am >> not sure what you will be doing in this paint method beyond this test >> example: >> >> def paint(self, painter, rect, mode, state): >> >> painter.setRenderHint(painter.Antialiasing) >> painter.setCompositionMode(painter.CompositionMode_Source) >> >> painter.fillRect(rect, QtCore.Qt.transparent) >> >> painter.setPen(QtGui.QPen(QtCore.Qt.red)) >> painter.setBrush(QtGui.QBrush(QtCore.Qt.red)) >> painter.drawEllipse(rect) >> >> >> >> On Sep 8, 2012, at 7:35 PM, Manuel Macha wrote: >> >> I'm having a hard time figuring out how to best deal with transparencies >> using QPainter (PyQt 4.7 on Mac OSX) >> I'm getting noisy artifacts in transparent areas of my icon which is >> painted using a custom QIconEngine class >> http://pastebin.com/ES55EeQj >> >> I'm trying to follow the advice in these articles where I explicitly set >> the pixelFormat in a pixmap and then fill it with transparency, however I >> can't get rid of the artifacts. >> http://techbase.kde.org/Development/Tutorials/Graphics/Performance >> http://www.informit.com/articles/article.aspx?p=1174421&seqNum=3 >> >> Any help would be greatly appreciated. >> >> >> -- >> view archives: http://groups.google.com/group/python_inside_maya >> change your subscription settings: >> http://groups.google.com/group/python_inside_maya/subscribe >> >> >> -- >> view archives: http://groups.google.com/group/python_inside_maya >> change your subscription settings: >> http://groups.google.com/group/python_inside_maya/subscribe >> > > -- > view archives: http://groups.google.com/group/python_inside_maya > change your subscription settings: > http://groups.google.com/group/python_inside_maya/subscribe > > -- > view archives: http://groups.google.com/group/python_inside_maya > change your subscription settings: > http://groups.google.com/group/python_inside_maya/subscribe > -- view archives: http://groups.google.com/group/python_inside_maya change your subscription settings: http://groups.google.com/group/python_inside_maya/subscribe
