Layer Opacity

Each layer in a map can have the opacity of that layer individually set from zero opacity to 100 percent opaque. Layers that are partially transparent will allow objects, labels and pixels from layers underneath them to be partially visible. Opacity is controlled by settings in the layers pane . Transparency may also be set via the Opacity dialog in the context menu for layer tabs in maps.


images\btn_layer_trans.gif To change the opacity of a layer in a map, open the map and then open the layers pane. Press in the View Opacity button in the layers pane. This adds an Opacity column to the layers pane.




Double-click into the Opacity setting for any layer to change it. 100% opacity (default) means the contents of the layer are opaque. 0% opacity means the contents of the layer will be invisible because they are completely transparent. When entering opacity numbers, there is no need to enter the % percent character: simply enter a number from 0 to 100 and press ENTER.


An alternative to setting layer opacity via the % edit box in the Layers pane is to use the opacity dialog that pops up from the context menu for map layer tabs. Right click onto a layer tab and choose Opacity to open the dialog:




The opacity dialog allows interactive setting of opacity by moving a slider bar. Check the Preview box to see the effect in real time. We can also click into the edit box and change the opacity value number.


Layer opacity will be combined with whatever opacity is already defined within the component. For example, RGBa images will have per-pixel transparency enabled. Using layer opacity with such an image layer will apply the layer opacity throughout the entire RGBa image in addition to any per-pixel transparency.


Note that changing the transparency of a map's layer in the layers pane does not make any changes to the component involved. It only changes how that component is displayed in the layer stack. So, for example, if we have an RGBa image participating in a map when we change the layer opacity there is no change to the alpha channel values for each pixel.




Suppose we have a drawing of US counties (at left, below) and a drawing of congressional districts (at right):


images\sc_layertrans_01.gif images\sc_layertrans_02.gif


Both drawings consist of areas. We would like to show them together in a map so that we see how congressional districts are shaped compared to counties. Without layer opacity it would be difficult to portray the overlap cleanly since whichever drawing was placed in an upper layer would hide the lower drawing.


Our solution is to use layer opacity. We will place the congressional districts drawing in an upper layer and then change its opacity until we get the desired effect showing both layers at the same time.




90% opacity: This provides slight visibility of the underlying counties drawing layer and would be a good choice if the main interest is the congressional district outlines.




75% opacity: Allows more of the counties drawing to show through the upper layer. Note that combining the colors of the lower and upper layers will tone down the rather garish initial colors of the upper layer. In effect, we are adding gray color to the upper areas which has the effect of reducing saturation of the combined image.




50% opacity: A good choice if the main focus is on county boundaries but where congressional district shapes should be easily available.




25% opacity: This decreases opacity of the upper layer so much that it is barely visible. This is a good way of applying subtle color to a map intended mainly to show counties that may also need to have other information, such as labels or point locations, included as well. The relatively faint outlines of congressional boundaries provide guidance for those interested in districts without being so visually obvious that they clutter the map.


Layer opacity is a great tool for utilizing images within maps.




A classic problem with georegistered images displayed in the same map as drawings is that the visual context of the image may interfere with the clear visual perception of objects in drawings.




Decreasing layer opacity makes the image fainter so that drawing objects can better stand out. A similar effect could be achieved by altering the brightness and contrast and saturation of the image but that would require an alteration in the image.


Changing layer opacity allows us to increase or decrease opacity of the layer without any change in the image component. This allows us to interactively seek the exact visual effect desired by increasing and decreasing the opacity for the layer. We will often use layer opacity in this way to "fade out" a background map when we would like to provide a subtle backdrop while retaining visual attention to map elements in the foreground.



Making images partially transparent allows objects in drawings underneath those images to be visible. In the above screen shot, we see two green circular areas appear through the image from a layer below.




The layers pane for the above map sets the opacity of the SanFranImage layer at 50% so that the circular areas in the Antennas drawing can be seen.


Note that layer opacity is applied in addition to any transparency effects inherent in the image itself.




For example, suppose we change the SanFranImage image into an RGBa image and then "feather" the transparency so that all but the central portion of the image is transparent. We can use the image in a map with drawings. This example shows the same drawing layers with a new image layer. (The Antennas drawing is clicked off in this illustration).




If we apply transparency to the image layer and turn on display of the Antennas drawing we can get an effect that combines the pixel transparency in the RGBa image with the overall layer opacity given in the map's layers pane.




Layer opacity works with any layer that may be displayed in a map. Labels layers, for example, may also be made partially transparent in maps as shown above.


Graphics Arts


Combination of layer opacity with RGBa pixel transparency provides a wide range of artistic effects.




We can copy our standard bronze example image, convert it to an RGBa image and then create a feathered circular region while leaving the rest of the image transparent.




We can then layer this in a map with a copy of the bronze image that has opacity set low to provide a fainter image.




The result is a combined effect that highlights only part of the bronze image. The effect is more dramatic when seen in a True Color 24-million color image as is normally seen in monitors. The images in this Help file have been artificially reduced to only 256 colors to fit within the constraints of the Microsoft Help system.


Note that this same effect could have been achieved by feathering the image in the upper layer alone. In this case, instead of having just an opaque circular region feathering to the larger part of the image with complete transparency, the circular region could have been feathered out to a larger region of partial opacity. The advantage of creating the combined image in two layers is that the bottom layer can easily be altered in opacity to allow an interactive approach to setting the opacity desired. One simply increases or decreases the opacity of the bottom layer until one sees the effect desired.

Combined Layer Opacity


Layer opacity in Manifold works just as transparency does when stacking layers of transparent plastic film. The results are visually combined and not simply arithmetically additive.




Suppose we have a map with three drawing layers, each of which contains a blue square. The screen shot above shows the map. Two of the layers have layer opacity set to 50% and in these two layers the blue squares have been positioned to overlap each other. The third layer has 100% percent opacity.


Note that the square in the layer with 100% opacity appears completely opaque. The checkerboard background is not visible through it at all. The squares in the partially opaque layers have been rendered partially transparent so that the checkerboard background may be seen through them. Where the squares overlap the background is less visible because it is seen through two layers of partially transparent "material."




If we turn on the default, white background in the layers pane we can see how the objects appear against a white background. This illustrates an effect that is occasionally confusing to beginners: the color of the region where both squares overlap is lighter (because of opacity) than the completely opaque square. The logical error made by beginners is to think that if one square has 50% opacity and the other square has 50% opacity then a sight line through both squares should be 100% opaque.


In reality, opacity is more a percentage multiplication effect than addition. When see through one square that is 50% transparent the sight line results in combined color that is 50% from the square and 50% from the background. If we now place another 50% filter of the same color into that sight line the result is color that is 75% the color of the squares and 25% the color of the background. Thus, an overlap of two filters each of which is 50% opaque has the same effect as one filter with 75% opacity and is not the same as 100% opacity.


Layer opacity is a Map Property


Layer opacity is a property of a map layer and not of the drawing or other component that is shown in that layer. The same drawing, for example, can appear in a layer in more than one map and in each map the layer containing the drawing can have a different opacity setting. The opacity used within each map is specified within that map's layer only.


Changing the opacity of a layer does not make any change to the component shown in that layer. Layer opacity simply changes how the map shows the component in that layer.




Transparency and opacity are two terms that mean the same concept viewed from different directions. When something is completely opaque it is not at all transparent. When something is perfectly transparent it may be said to have zero percent opacity.


Which word is used depends on the discussion. When imagining layers stacked up above each other like transparent sheets it is conceptually clearer to use the word transparency. When discussing a specific percentage of light transmission to be applied via a slider bar in a dialog most applications use the word opacity.


The convention in the graphics arts editing software industry is to adjust layer opacity with controls that set a number from 0% to 100% opacity, so that an image with 100% will be fully opaque and not allow any view of an image underneath it. Manifold follows this convention. This convention persists in the graphics arts industry even though the technical implementation of transparency effects is done using an alpha channel within RGBa images where the higher the value of the alpha channel (from 0 to 255) the higher the transparency.


One therefore encounters the slight conceptual dissonance of increasing opacity with higher numbers (up to 100%) in dialogs and other user interfaces while the internal data sets use numbers (alpha channel values) in which opacity decreases with higher numbers. Since we rarely set alpha values by hand this is not so bad. Alpha values are normally set using various tools, such as erasers, or masks. In the case of masks, the darker the mask region the lower the alpha value is and thus the higher the opacity. From a casual conceptual view this is very acceptable because it leads to an effect where black regions of masks cause full opacity and white regions of masks cause full transparency. Since we are used to thinking of "white space" as being transparent this works well as a natural mnemonic for the effects of masks.


Printing and Opacity


Manifold will correctly print maps (as well as layouts that include maps) with correct opacity for the layers used. However, if the Print using GDI+ option is turned off then only surfaces and images will be printed with correct opacity. Turning off the Print using GDI+ option forces Manifold to use ordinary GDI, which cannot print opacity in drawings.


Although .pdf and .ps formats are often thought of as "universal" formats that can capture exact renderings of data for use in other programs, they do have numerous limitations. For example, neither .pdf nor .ps can render opacity. If a layout includes a map that shows a drawing below an image that has 50% opacity in the map, the .pdf created by exporting the layout to a .pdf file will show the image with 100% opacity. .emf exports do support opacity for images and surfaces but not for drawings.


Although .pdf and .ps formats are often thought of as "universal" formats that can capture exact renderings of data for use in other programs, they do have numerous limitations. For example, neither .ps nor older versions of .pdf can render opacity. If a layout includes a map that shows a drawing below an image that has 50% opacity in the map, the .ps created by exporting the layout to a .ps file will show the image with 100% opacity. Exports using .emf support opacity for images and surfaces but not for drawings.




How are the feathered circles created in the RGBa images shown above? See the Create a Circular Feathered Image example.


Readers outside the US may be surprised to see that congressional districts are not always aligned to boundaries of cities or counties. In fact, they appear to have bizarre, arbitrary shapes in some cases. In the US the political party in power can use its majority vote to draw the boundaries of districts assigned to each congressional representative. This power to draw district boundaries is used to maintain political control by drawing districts based on known demographics of supporters and opponents.


The technical challenge is to draw district boundaries that unite one's supporters and fragment the opposition in a way that prevents opposition voters from ever making up a majority of any district. The practice is known as "gerrymandering" after Massachusetts Governor Eldbridge Gerry (1744-1814) whose second term as Governor featured a bizarre rearrangement of voting districts.