Inkscape.org
Beginners' Questions lighter strips on objects
  1. #1
    TheWilliam TheWilliam @TheWilliam

    Objects in my images all have slighter lighter edges. The attached example has fill colour, no stroke colour, stroke width zero. I've tried may permutations, including turning off anti-aliasing in the document properties, but nothing solves it.) The lighter edges become even more pronounced when exported (even up to 900dpi) as PDF for printing (screen shot also attached).

    The original file (Paula.svg) also attached.

     

    Paula
    Whenexportedaspdf
    Originalscreenshotapprox4.5X4Cm
  2. #2
    Polygon Polygon @Polygon🌶

    Looks ok on macOS. Can you check please?

     

  3. #3
    TheWilliam TheWilliam @TheWilliam

    Thanks for such a quick response :-)

    I'm afraid that under Windows(11) they are still there (attached as Slice.png).

    (You can also see the "jiggle" I can get with adjacent objects - medium grey on pink object against the pale grey vertical stripe. Usually this is avoided by using the "rounding up" option in the [Export] dialogue. (If that fails, I extend an object and stack it behind the other.)

    I take it that under MacOS the blocks are flat, with no lighter edge.

    Assuming this is not a feature(!) is anyone else getting this problem?

    More importantly - any suggestions?

    Slice
  4. #4
    Lazur Lazur @Lazur

    It's the gap issue, anti-aliasig, compositing is at fault.

    Saving as pdf retains vector objects, not sure what exporting at 900 dpi would do. In the dialog there is a setting to rasterize filter effect which there is none used, so it'd make no difference.

    The gap is always between the 1 px range, no matter how you zoom in the pdf. 

    Shouldn't make much difference when printing as the printers can go higher than printing at 600 inkblots/inch. And probably they don't deal with anti-aliasing either.

     

    So if you wanted a px perfect rendering for an on-screm viewing, you could export at 900 dpi as a raster image, then scale that raster image down in a raster editor. 

    (Alternatively use inkscape create raster copy option with the high set dpi, then export that raster image at a smaller size, separately.)

     

    You can also improve your  image composition with more overlapping. 

    The semi-transparent objects can really make them tricky.

  5. #5
    Lazur Lazur @Lazur
    *

    Give it a go with some adjustments here and there. Rushed and all over the place, but hopefully all double edges are eliminated and renders right.

    -Changed the shadows to opaque filled objects for convenience; otherwise wuld be more messy with alot of clipping involved.-

    svg attached

     

    Paulina
  6. #6
    TheWilliam TheWilliam @TheWilliam

    Thank you so much, Lazur, for your observations and the effort you put into tweaking my image..

    "The gap is always between the 1 px range".  Are you referring to whenever there are two adjacent objects? That is why "overlapping" objects helps? I hope I have understood you correctly.

    I shall bear this in mind as I continue to work.

  7. #7
    Lazur Lazur @Lazur

    The 1 px range is related to anti-aliasing. To smoothen the image the renderer generates semi-transparent pixels at the edges. That's about the distance between a fully opaque and a fully transparent pixel.

    When two objects share an adjacent edge, those semi-transparent pixels are composited atop eachother. Like, two 50% filled objects atop eachother won't block the objects showing through them.

    Illustrator has a rendering mode for this, using supersampling. That is, initially rendering at a larger resolution and scaling it down in post -sort of. 

    Which is the exact method I suggested. Export at a large resolution -the issue is still wisible, only as a 1 px portion-, then scale it down in a raster editor -the gap issue is also scaled down to a fraction.

    The smaller the scale factor, the smaller the isue will appear as a result.

     

    Similar kind of approach is, duplicating the objects atop themselves. Like grouping everything together, and cloning/duplicating the clone.

    3 copies would mean at the adjacent edges there are not 50%+50% opacities, but 6 times of 50%. Gap is much less visible, yet edges of a single object will appear a bit "thicker".

    And this method doesn't work so well if you use semi-transparent fills, gradients etc.

     

    Theoretically  you can composite semi-transparent objects so that their opacities add up, but there comes the issue if those go over a full 100%. 

    Can show a working example for that, "filling the gap" between a set of squares but it's not a practical solution either.

     

    Overlapping objects ensure at those anti-aliased edges that the fill is 100% opaque, no background showing through/in-between.

    Keep in mind that the anti-aliasing is related to the zoom level too. Like if the overlapping is less than a px large, while zooming out you can still see gaps.

     

    It's up to you if you want to use overlapping in the future. For simple designs, where the object's z-order is consistent it is manageable.

    Like tiling a roof or how fish scales grow  to name one. 

    But in an image where you draw less structured, overlapping can become chaotic, hard to manage and take a huge effort.

    If you are not focusing on screen rendering or creating some sort of pixelart, consider that.

    Focusing on other parts may have a better impact. Being productive may be more beneficial than achieving a nit-pickingly perfect rendering. 

  8. #8
    TheWilliam TheWilliam @TheWilliam

    Thank you for your thorough explanation, Lazur. I hadn't thought about how vector images have to be rasterised at some point - that is how the ink (or toner?) is applied.

    My pictures (I've had to abandon physical painting due to disabilities) are driven by geometry (at the moment). I'll experiment with overlapping and overlaying but, as you say (and thank you so much for the encouragement), "Being productive may be more beneficial than achieving a nit-pickingly perfect rendering."

  9. #9
    Aero Aero @Aero◻️
    TheWilliam

    Usually this is avoided by using the "rounding up" option in the [Export] dialogue. (If that fails, I extend an object and stack it behind the other.)

    Snapping to grid and exporting in multiples of your documents resolution helps.
    The attached SVG is using the same resolution as PDF. The rounding is already done. You can see the path data in Object properties. Try exporting PNG at 288 DPI (72@4x).
     

    Paula 72