Fri, 29 Dec 2006 19:49:28 -0400 "bulia byak" <buliabyak@...400...> kirjoitti:
Thanks! That was fast. However, th patch does not work for me - with the same sequence of actions (cirsle, blur, squeeze, rotate) I see a grid of strange lines, all inclined at a larger angle than the object is supposed to be. Looks like your code doubles the rotation angle.
Uh... Seems so. I'm guessing that those lines are an interference pattern created from bitmap transform. Also, it seems that if you squeeze the circle to, say, half of it's height, the result is quite good. If you squeeze the circle to one tenth of initial height, all you see is those lines.
To fix this, I think the scaling factor should be calculated in some other way in nr-filter.cpp and transformer should use bilinear or bicubic resampling.
I also get a bunch of
** (inkscape:6876): WARNING **: Location 23684 out of bounds (0 ... 23688) at line 72
Odd, wonder why I'm not seeing those messages. It seems though, that those are not caused by a real problem, but by an off by one error in debugging routine: pixblock-transform.cpp:36 should have (location + 4) > max_loc instead of (location + 4) >= max_loc