Not signed in (Sign In)

Vanilla 1.1.4 is a product of Lussumo. More Information: Documentation, Community Support.

Welcome Guest!
Want to take part in these discussions? If you have an account, sign in now.
If you don't have an account, apply for one now.
    • CommentAuthorSaito S
    • CommentTimeMay 7th 2019
     
    Ahoy mappers!

    So recently, I imported a symbol into my big map project that I've been making for years using the "Modern Political" annual style from 2010. MP comes with an airport symbol, it's basically a red silhouette of a plane at an angle, but I preferred the look of a symbol where the plane silhouette is inside a box. I found this neat icon here:

    I used Symbol Manager > PNG import to get it into my map. I had to re-import it a few different times to play with the import settings, but regardless,there's an issue. See how the icon is surrounded by a black outline? Well, when I render the whole map as a PNG, that outline doesn't come through correctly:

    This image is a small part of the map cropped from a large PNG (exported at 9000 x 8000 resolution) of the entire map. So while the image of the whole map is 9000 x 8000, this cropped piece by itself is only 372 x 301.
    On the new airport symbol (the one on the left), see how the black outline isn't fully there? It's correct only on the left side. There's a bit of it in the upper right and lower right corners, but it's missing from the top, right, and bottom.

    After seeing this, I made another PNG using the "export a rectangular section" option in CC3+, in order to produce an image focused on this same area, but at a higher resolution than the cropped image above (6000 x 5000). In THAT image, the outlines are all properly rendered and visible around the edge on all sides:

    So is this a resolution problem? CC3+ is unable to properly render these outlines unless the res is extremely high (even higher than 9000 x 8000 for the full map, which I can't go above - I get a "not enough memory" error if I try to go higher than that)? I find that odd, since it has no trouble properly rendering other symbols that have an outline, such as the round multi-colored dots which mark cities (which you can see several of in this image). When importing the Airport symbol, I tried it with the "Hide picture outline" box both checked and unchecked. It didn't seem to make any difference.

    So how could I go about fixing this so that that black outline is properly displayed when the full map is rendered? Is it possible I did something wrong when importing the PNG as a symbol? Thanks for any and all help!
    •  
      CommentAuthorRalf
    • CommentTimeMay 7th 2019 edited
     
    That's a bit weird. Did you create different resolutions when you imported the PNG? Do you get better results with the attached version of the image?

    Alternatively, you could remove the black outline in the png and add a vector outline in the CC3+ symbol.

    Edit: Or even better yet, redraw that symbol completely as a vector symbol - it's a fairly simple shape and would then better match the other symbols of the Modern Political style.
      Airport.png
    •  
      CommentAuthorMonsen
    • CommentTimeMay 7th 2019 edited
     
    Note that things like this happen simply because there isn't enough pixels in the destination render.

    I did a few calculations based on the actual symbol you sized, and the size which it is represented in the cropped image. This shows that at that size, the black line around the symbol is going to be 0.4 pixels wide. Now, images only operate in whole pixels, so when something is less than a pixel, a decision needs to be made if the size should be rounded up or down to the nearest whole pixel (0 or 1 in this case). Of course, since the pixel count in any image is finite, whenever you round up somewhere, you need to round down somewhere else, so you cannot simply round up everything. Something less than half a pixel is therefore a good candidate for rounding down. Different techniques are used by image renders to somehow offset this problem, but due to the pixels being a limiting factor, it can't always come out perfect.
    This is a problem that ALWAYS happens when you render things out to an image from any program, it is just more noticeable when it happen to be a clear line like this. You can see a similar thing happen with the roads in your two samples.
    • CommentAuthorSaito S
    • CommentTimeMay 11th 2019 edited
     
    Thanks for the replies guys, didn't mean to vanish, just been a busy week.

    Posted By: RalfThat's a bit weird. Did you create different resolutions when you imported the PNG?

    Nope, didn't select that option.

    Do you get better results with the attached version of the image?

    Did you mean, the one in your post? If so, I downloaded it and tried it, but no change.

    Alternatively, you could remove the black outline in the png and add a vector outline in the CC3+ symbol.

    Edit: Or even better yet, redraw that symbol completely as a vector symbol - it's a fairly simple shape and would then better match the other symbols of the Modern Political style.

    Here is where I get lost. Vector symbols (and the significance of any given symbol being or NOT being a vector) is one of those topics that I knew absolutely nothing about before I began using CC3. So: what exactly IS a "vector symbol" as opposed to not? What would be the significance of it being one, in the context of possibly solving this problem? And how would I go about drawing something "as a vector"?

    Posted By: MonsenNote that things like this happen simply because there isn't enough pixels in the destination render.

    I did a few calculations based on the actual symbol you sized, and the size which it is represented in the cropped image. This shows that at that size, the black line around the symbol is going to be 0.4 pixels wide. Now, images only operate in whole pixels, so when something is less than a pixel, a decision needs to be made if the size should be rounded up or down to the nearest whole pixel (0 or 1 in this case). Of course, since the pixel count in any image is finite, whenever you round up somewhere, you need to round down somewhere else, so you cannot simply round up everything. Something less than half a pixel is therefore a good candidate for rounding down. Different techniques are used by image renders to somehow offset this problem, but due to the pixels being a limiting factor, it can't always come out perfect.
    This is a problem that ALWAYS happens when you render things out to an image from any program, it is just more noticeable when it happen to be a clear line like this. You can see a similar thing happen with the roads in your two samples.

    Ohh interesting. That actually does make sense as to why this could happen, especially since I've noticed that the final symbol in an exported PNG of the map can change depending on both the total resolution of the PNG itself, AND the size of the symbol as placed within CC3+ before the export.
    • CommentAuthorLoopysue
    • CommentTimeMay 11th 2019
     
    On that last point it might help to re-import it with the create other resolutions box checked.
    •  
      CommentAuthorRalf
    • CommentTimeMay 13th 2019
     
    A vector symbol is a symbol consisting of CC3+ internal entities like polygons, lines, paths, circles, etc. Bitmap symbols are ones that reference an external bitmap file like your airport PNG (a symbol can have both types of content, but let's ignore that here).

    Vector symbols have the advantage that CC3+ treats all their constituent parts as separate entities when rendering, making it less likely that a line or path will "vanish" in the rendering process. Try the attached symbol as an alternative and see how it renders.