I do not know the Android API, but since you requested the "alternative" methods, I suggest using ImageMagick . There are several binaries on this site, so I hope you can download the one that suits your system. Otherwise, you can download the sources (google around, and you will find many links about creating it for Android).
Since I work on a Windows computer, I can only tell you how you can call it from the Windows command line, but the syntax is similar for other platforms. This application also offers a wide selection of APIs for different languages โโ(Java, C or C ++ may be of interest to you in particular), so you can use the ImageMagick built into your application, instead of calling it from the command strings.
Now for the problem under consideration: you need to perform an โoverlayโ operation with the symbols above your map, as well as with a transparent sheet with drawings over a real map.
So call map.png and overlay.png two files you need to merge. Please note that also the overlay file is a PNG file (more on this later). Then you can get something close to what you want with the following command line call:
composite.exe -compose atop overlay.png map.png output.jpg
Why should the overlay be a PNG image? This is because we need an โoverlay sheetโ that is transparent in most areas (except when you have a balloon tip and other drawings), but JPG images do not store transparency information (they donโt have an alpha channel that stores this information).
So, you have to change the part of your code that generates the overlay to generate the PNG image with the corresponding alpha channel.
Hope all of this helps.
Lorenzo donati
source share