[poppler] Followup Bug 32349 & Poppler: More shading fun ;-)
Albert Astals Cid
aacid at kde.org
Sat Jan 1 13:34:32 PST 2011
A Dissabte, 1 de gener de 2011, Thomas Freitag va escriure:
> Please regtest this new patch. What I've done in the meantime:
>
> a) speed up the implemenation but have enough quality left.
> b) implement the shading extend in a correct way, test it against the
> samples from the PDF spec (appendix L)
> c) test it against all samples from Andrea, including bug 32349 & 30887.
> d) test it against ducks & roses and all the PDF You send me because of
> regressions with former patches.
>
> So I'm think I'm quite near of finishing the implementation, just
> waiting for the result of Your regtest.
There are a few empty pixels in the border of
http://bugsfiles.kde.org/attachment.cgi?id=20680
Albert
>
> Happy new year,
> Thomas
>
> Am 31.12.2010 03:10, schrieb Thomas Freitag:
> > I made a lot of mistakes, but I'm quite close now, s. attached
> > rendering of Andrea's PDF. What is still up to do, is
> > a) speed it up again
> > b) implement the shading extend in a correct way (I'd already a look
> > at it, it's also wrong implemented in Gfx)
> > c) run it again through my own regression test.
> >
> > Thomas
> >
> > Am 30.12.2010 12:20, schrieb Thomas Freitag:
> >> I just recognized a bug with Andrea's PDF when drawing non centered
> >> circles. Want to fix that first before sending a new patch.
> >>
> >> Thomas
> >>
> >> Am 30.12.2010 11:29, schrieb Albert Astals Cid:
> >>> A Dijous, 30 de desembre de 2010, vàreu escriure:
> >>>> Sorry, I attached Your "new.png", not mine. Here the correct one
> >>>> produced with the above changes.
> >>>
> >>> This looks good enough for me, can you send the full patch to the list?
> >>>
> >>> Thanks!
> >>>
> >>> Albert
> >>>
> >>>> Thomas
> >>>>
> >>>> Am 30.12.2010 10:31, schrieb Thomas Freitag:
> >>>>> Hi Albert!
> >>>>>
> >>>>> I changed the SplashRadialPattern::getColor a little bit to solve
> >>>>> this. It is still a little bit different from the old one, in my
> >>>>> opinion a little bit better, but that's just a flavour, and in other
> >>>>> cases it could be a little bit more worse. So if You agree, I can
> >>>>> send
> >>>>> a complete new patch.
> >>>>>
> >>>>> BTW, as You probably see, Andrea attached his PDF to the closed bug
> >>>>> 32349. I saw already yesterday, that also the new rendering with the
> >>>>> latest patch is quite better than the old rendering, but it's still
> >>>>> not shown what Acrobat reader shows. I'll have an additional look in
> >>>>> it, but I fear that this will be again a bigger job (the PDF has 128
> >>>>> radial shadings, and only some of them are still buggy!). So (if not
> >>>>> solvable in time) I would prefer to close this thread first, and then
> >>>>> reopen the bug or create a new one.
> >>>>>
> >>>>> Do You agree, or do You have other ideas?
> >>>>>
> >>>>> Thomas
> >>>>>
> >>>>> FYI, here the changes:
> >>>>>
> >>>>> GBool SplashRadialPattern::getColor(int x, int y, SplashColorPtr c) {
> >>>>>
> >>>>> double xc, yc;
> >>>>> int xs, ys;
> >>>>> Guchar *bitmapAlpha;
> >>>>>
> >>>>> bitmapAlpha = bitmap->getAlphaPtr();
> >>>>> ictm.transform(x, y,&xc,&yc);
> >>>>> xs = splashRound(xc);
> >>>>> ys = splashRound(yc);
> >>>>> // Because of rounding problems, coordinates could be
> >>>>> // outside the bitmap. Reset them on the outer bound now
> >>>>> // and let it up to the alpha channel if they are shown:
> >>>>> if (xs< 0) xs = 0;
> >>>>> if (xs>= bitmap->getWidth()) xs = bitmap->getWidth() - 1;
> >>>>> if (ys< 0) ys = 0;
> >>>>> if (ys>= bitmap->getHeight()) ys = bitmap->getHeight() - 1;
> >>>>> if (bitmapAlpha[ys * bitmap->getWidth() + xs])
> >>>>>
> >>>>> bitmap->getPixel(xs, ys, c);
> >>>>>
> >>>>> else
> >>>>>
> >>>>> return gFalse;
> >>>>>
> >>>>> return gTrue;
> >>>>>
> >>>>> }
> >>>>>
> >>>>> Am 29.12.2010 23:28, schrieb Albert Astals Cid:
> >>>>>> First page, left of the "title". A few white pixels in there.
> >>>>>>
> >>>>>> Albert
> >>>>>>
> >>>>>> A Dimecres, 29 de desembre de 2010, Thomas Freitag va escriure:
> >>>>>>> Am 29.12.2010 18:53, schrieb Andrea Canciani:
> >>>>>>>> On Wed, Dec 29, 2010 at 4:48 PM, Thomas Freitag
> >>>>>>>>
> >>>>>>>> <Thomas.Freitag at kabelmail.de> wrote:
> >>>>>>>>> ...
> >>>>>>>>> I made a mistake when solving the problem with
> >>>>>>>>> altona_visual_1v2a_x3.pdf. I find now a better way to solve
> >>>>>>>>> it, which
> >>>>>>>>> also gives a better look of the printer paper back again.
> >>>>>>>>
> >>>>>>>> I'd like to point yo to another pdf whose rendering regresses
> >>>>>>>> with the
> >>>>>>>> patch: https://bugs.freedesktop.org/attachment.cgi?id=41506
> >>>>>>>
> >>>>>>> Albert, can You please just change two lines in the former patch?
> >>>>>>> 1. In SplashOutputDev.cc in the constructor of SplashRadialPattern,
> >>>>>>> replace
> >>>>>>> + bitmap = new SplashBitmap(splashRound(width) + 1,
> >>>>>>> splashRound(height)
> >>>>>>> + 1, colorMode != splashModeMono1, colorMode, gTrue);
> >>>>>>> through
> >>>>>>> + bitmap = new SplashBitmap(splashRound(width) + 2,
> >>>>>>> splashRound(height) + 2, colorMode != splashModeMono1, colorMode,
> >>>>>>> gTrue);
> >>>>>>> 2. In Splash.cc in the painting routine radialShadedFill, where the
> >>>>>>> smaller extend circle is painted, replace
> >>>>>>> + drawPartEllipseLine(&pipe, 2* yo - curY, xMin, xMax);
> >>>>>>> through
> >>>>>>> + drawPartEllipseLine(&pipe, curY, xMin, xMax);
> >>>>>>> (curY is alfready recalculated two line before!)
> >>>>>>>
> >>>>>>> Or just reapply the attached patch.
> >>>>>>> This solves the rendering regressions mailed by Andrea.
> >>>>>>>
> >>>>>>> Thomas
> >>>>>>>
> >>>>>>>> In the last row, half of the inner circle is transparent with
> >>>>>>>> poppler/master+radialsh.patch.
> >>>>>>>>
> >>>>>>>> Andrea
> >>>>>>>>
> >>>>>>>> PS: Sorry for removing most of the thread from this message,
> >>>>>>>> but gmail
> >>>>>>>> squashed it to just one level.
> >>>>>>>> _______________________________________________
> >>>>>>>> poppler mailing list
> >>>>>>>> poppler at lists.freedesktop.org
> >>>>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
> >>>>>>>>
> >>>>>>>> .
> >>>
> >>> .
-------------- next part --------------
A non-text attachment was scrubbed...
Name: new.png
Type: image/png
Size: 906 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/poppler/attachments/20110101/141d7110/attachment.png>
More information about the poppler
mailing list