AnsweredAssumed Answered

Cached Map Service: Unexpected transparency with PNG8 format

Question asked by brezovar on Nov 6, 2015
Latest reply on Nov 9, 2015 by brezovar

Hello, we have recently generated two cached map services using the PNG8 format, and both services exhibit the same problem. There is unexpected transparency in the caches. Both caches are based on TIF imagery, and in both cases the original TIF images contain no transparency. When we generate the same caches using the MIXED, PNG24 or PNG32 formats, there is no transparency in the resulting caches, as expected. The unexpected transparency appears only for the PNG8 format.


The raw TIF-images for the two services have one major difference: For Service A they have 8-bit color depth and for Service B 24-bit color depth.


For service A (raw images have 8-bit color depth), it is my understanding that the raw TIF images and the resulting PNG8 images in the cache both use indexed color. After further analysis, it appears that the pixels with index value 1 in the raw images are always becoming transparent in the resulting cache. Can this somehow be changed? As far as we can tell, the raw TIF images don't have an alpha channel, but the resulting PNG8 images do. Why would this alpha channel be added to the cached images?


For Service B (raw images have 24-bit color depth), the transparent locations don't look pixels at all when viewed in ArcMap, but rather like tiny vector features that have details smaller than the size of individual pixels. We have no idea how to make sense of this. Is there any logical explanation for this?


We have read that, in general, changing the background color of the data frame (to an RGB-value that does not exist in the imagery) before publishing can fix these sorts of transparency problems, but that did not work for either of the services. The same pixels / tiny areas always become transparent in the resulting cached service, regardless of the background color prior to publishing.


We are extremely confused by these observations, and any assistence would be greatly appreciated. We just want to prevent this unexpected transparency from being introduced into the caches. If possible, it would be great if the transparency could somehow be removed from our existing caches without needing to generate the caches from scratch again.