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 > >>>>>>>> > >>>>>>>> <[email protected]> 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 > >>>>>>>> [email protected] > >>>>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler > >>>>>>>> > >>>>>>>> . > >>> > >>> .
<<attachment: new.png>>
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
