Inkscape.org
Beyond the Basics White contours in vector
  1. #1
    louis_nichols louis_nichols @louis_nichols
    *

    Hi all!
    I am trying to make something with this vector:
    https://vectorportal.com/vector/bright-colors-background-vector/13236

    I am importing it from EPS.

    The first thing to mention is that when I import it, I have to select "Cairo import", else the import is all black (see first screenshot). But the Cairo import works fairly well.

    However, what is troubling me is that the final product has some white lines around the contours. This is visible both in Inkscape and if I export to PDF or PNG. See second screenshot.

    Interesting is that, if I zoom in, these lines don't scale with the zoom but instead always stay the same size

    Also, if I try to print such an export, they are not visible, although I am not sure how much I can trust my printer.

    So my question is: should I worry about these lines? Like, if I print a big format of this image, will they be visible?

    If so, can you suggest a way to make them go away? They don't show as stroke in the settings, so I tend to assume they are just artifacts of the display. But I don't know.

    Later edit: another interesting thing to notice is that if I open the same EPS file with LibreOffice Draw or GIMP, the lines are not visible at all. Which also makes me think they would not show on a print...

  2. #2
    David248 David248 @David248

    Please share your file for examination.

  3. #3
    louis_nichols louis_nichols @louis_nichols

    I am attaching the imported SVG file.

    I also posted the link to the original in my post, because I'm thinking maybe the import from EPS has some effect on all this...

  4. #4
    Paddy_CAD Paddy_CAD @Paddy_CAD

    The vertical white lines are the result of antialiasing. Inkscape blurs the boundaries of shapes to improve screen and print appearance, but in this case the white background bleeds through between adjacent rectangles. This can be solved by drawing stacked rectangles instead. Use the dropper tool to colour the rectangles.

    I'm not sure what happened with the circles, but you can create the spotlight effect with a gradient filled ellipse.

     

    Stripped Colourful 2
  5. #5
    louis_nichols louis_nichols @louis_nichols

    @Paddy_CAD Thank you for that advice.

    Let me see if I understand it correctly:

    • I replace each of the "slices" by a rectangle of the same color, fully filled.
      Is there any trick to this, or do I create them one by one from scratch?
    • I align them end-to-end, so there's no white lines between them.
    • At this point, I should have the background without the spotlight, right?
    • Then, I create an ellipse that I fill with gradient from white to transparent and place it on top.
  6. #6
    Paddy_CAD Paddy_CAD @Paddy_CAD
    *

    Deleted double post.

  7. #7
    Paddy_CAD Paddy_CAD @Paddy_CAD

    That eps file converts to a huge svg with 400 paths and 21000 nodes. I imported the eps image, made a bitmap copy [alt+b] and discarded the original.

    Draw a rectangle [r] same width as the bitmap, make this a group [ctrl+g] and place it under the bitmap. Enter the group [double-click], select the rectangle, and duplicate it [ctrl+d] to create an identical rectangle on top of the original. Drag the right selection handle, resizing to match the first stripe in the bitmap and revealing the original rectangle beneath. Duplicate again and resize again. Repeat, repeat, repeat.....

    You should have a series of stacked overlapping rectangles with the smallest on top. Select the bottom rectangle and use the dropper tool [d] to copy a fill colour from the first stripe. Repeat for the next rectangle, and the next, and the next.

    Hopefully this screenshot helps.

    Striped Screenshot
  8. #8
    Lazur Lazur @Lazur

    Depending on the final product it'd be more straightforward to create a linear gradient to represent those rectangles. 

    It's unfortunate to work with the eps file from the start and would be the best if you could contact the vendor to deliver svg files instead.

    Or ai files with pdf backup that inkscape can open.

    Eps doesn't support alot of graphic elements so definitely this was the result of a "fallback" conversation.

     

    Side note for the overlapping solution. Multiple edges also show the same problem as the gap issue with the objects overlapping, if they are atop eachother. 

    And it's also affected if the said edges are not horizontal/vertical. And by the zoom level too.

    So if you reconstructed a gradient using incrementally smaller rectangles atop eachother, grouped it together and rotated by a certain angle, the outer edges would look a bit off.

    Can cure that in inkscape by using clipping, however chrome's renderer would show the same result regardless of clipping. 

    They seem to be using a different model on the anti-aliasing level of rendering. A bug if you ask me.

    For a non-clipped solution you'd need to alter the rectangle shapes each which would be a big overkill for such a trivial need.

     

    Here is a related article which may be interesting on the use of overlapping at a similar problem:

    https://alpha.inkscape.org/vectors/forum.inkscapecomunity.com/index1705.html?action=articles;sa=view;article=39

     

  9. #9
    louis_nichols louis_nichols @louis_nichols

    Thank you both. Now I have a rough understanding of what is going on and how to fix it.

    I'll get to work.

    @Paddy_CAD: I just noticed that the pic you inserted is actually an svg with the solution. I initially thought it was a jpeg or something. That's much appreciated, but I follow your advice on my own, to learn. :)

  10. #10
    Lazur Lazur @Lazur

    The anti-aliasing makes pixels at the edge of an object semi-transparent. 

    Right after each and every of those pixels are calculated with the semi-transparencies, they are composited atop eachother. 

    The same way, as you would with semi-transparent objects from the start. 

    Like if you have two objects with 50% opacity atop eachother, the transparencies aren't adding up to 100% -instead it would be 75%, with the background showing through.

     

    To overcome the issue illustrator has a rendering mode where they supersample the image - render everything in a larger scale and scale down the result. 

    Since anti-aliasing is affecting the edges only on a 1 px scale, that method can improve the look even by sampling 2 times the original size. 

     

    Can do that manually if your final goal is just to produce a png image. Even on your original drawing without further editing.

    Export at 3 times larger size and scale it down after in a raster editor/create a raster copy of the drawing grouped together at 288 dpi then export it at 96 dpi.

  11. #11
    Aero Aero @Aero◻️

    PNG exported from EPS looks good with Antialias set to 0 under options in export dialog.

    In the attached SVG I used a stretched PNG for the stripes and a path the same size for the radial gradient on top.

    A selected transparent rectangle placed over the bottom part of the EPS was used to export a small PNG  at 72 dpi before importing it back in.
     

    With Small Png