A Diumenge, 2 de gener de 2011, Thomas Freitag va escriure: > Am 01.01.2011 22:34, schrieb Albert Astals Cid: > > 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 > > Sorry, I made such a lot changes in the last three days, that I forgot > to remove a test case where I wanted to see where normal shading stops > and extending shading starts, so the last circle of normal shading was > no more painted :-( > > Please try the new patch.
There is a regression on page 25 of http://download.tuxfamily.org/magnum/doc/magnum04.pdf See attached files. Albert > > Thomas > > > 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 > >>>>>>>>>> > >>>>>>>>>> . > >>>>> > >>>>> . > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> poppler mailing list > >>>>> [email protected] > >>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
<<attachment: old.png>>
<<attachment: new.png>>
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
