Note: Version 6.15.3 of MapSource accidentally dropped support for custom waypoint icons; version 6.15.4 puts it back. Make sure you have the most recent version.
In the first post of this series, I started describing the process of creating and uploading a custom waypoint icon to a Garmin mapping GPS unit; little of what follows will make sense unless you read that first. Today, the thrilling semi-conclusion!
Here’s the icon I downloaded from my Garmin (magnified four times from its original 16 x 16 pixel dimensions):
If I right-click on the original graphic file, choose Properties and then the Summary tab:
It shows that the original image has the properties I listed yesterday that the graphic needs in order to be uploaded back into the Garmin:
Photoshop has taken it upon itself to spontaneously change the dpi from 96 to 71; thanks, Photoshop! If I try to upload this new image to the Garmin with xImage, I get:
Even if I try to create a new 16×16 image in indexed mode with a dpi of 96, Photoshop insists on making it 95.99 dpi, which xImage also rejects. Newer versions of Photoshop may well have fixed this issue, but if you’re having problems getting xImage to accept the graphic file, the wrong dpi is a good candidate for the problem. Addendum: Turns out that DPI isn’t as critical as I thought; see the comments for more details. Also make sure that you save the BMP file without RLE compression enabled. But if you’re still having problems with getting xImage to accept the BMP file, the suggestions below will help, regardless of what’s causing the problem.
If your graphic program can’t create a BMP in the right format, there are some free options:
- Microsoft Paint: Comes free with Microsoft Windows. On the plus side, this venerable program can open and save BMP files in 256-color format, without changing the dpi. On the minus side, the editing interface stinks.
- Paint.Net: This free alternative to Paint (which is actually closer to Photoshop in its features) makes editing easy, and you can easily check for and change the dpi to 96 exactly using the Image => Resize command. The downside is that you can only save the BMP file in 24-bit format – it doesn’t support saving in 256-color 8-bit BMP. Solution: Edit the graphic file in Paint.Net, save it as a 24-bit BMP, then open it in Microsoft Paint and save it in 256-color BMP format. If you’re having problems with another graphics editor like Photoshop, you could also edit the file in that program, use Paint.Net to set it to 96 dpi, then use MS Paint to save it in 256-color BMP format. Note: See comment below about 8-bit support now in Paint.Net, along with a quirk.
Some suggestions for the icon editing process:
- Fill the entire icon graphic with purple (255 Red, 0 Green, 255 Blue) to begin with. This is the transparent color for the icon, and won’t show up on-screen in the GPS, so it’s the equivalent of a blank slate.
- Use the pencil mode to create the graphic; the brush mode blends adjacent pixels, creating effects that won’t show up when the color depth goes from 24-bit to 8-bit.
- Keep in mind that when you go from 16.7 million colors to 255 colors, subtle shading differences will be lost. So using colors that are substantially different from each other in hue, saturation and luminosity will probably get you the best results for the icon when it’s uploaded into the GPS unit.
- Some GPS units change their color scheme from day to night, to make on-screen graphics easier to read. Choose colors that will be visible in both the day and night color schemes. You can also change those schemes on your GPS as well.
- You can actually dispense with the whole process of first downloading a waypoint icon from your Garmin unit (described in the previous post). In Paint.Net, just create a new graphic image with the File => New command, making it 16 pixels by 16 pixels in size, with dpi set to 96. When you’re done editing it, just save it with the appropriate name for the uploaded icon (e.g. “Waypoint Symbol 000.bmp”, “Waypoint Symbol 001.bmp”, “Waypoint Symbol 002.bmp … “Waypoint Symbol 023.bmp”). Convert it to a 256-color BMP with MS Paint, and it’s ready for uploading.
So, after all that, here’s my new waypoint icon, named “Waypoint Symbol 000.bmp” (same as the original), magnified 4x:
Since purple is the transparent color, only the green should show up on-screen as the waypoint icon. Now fire up xImage, and choose the option to “Send images to the GPS”. Select the waypoint name that corresponds to the name of the BMP graphic file (Waypoint Symbol 000), then select the folder that contains the new graphic; xImage will automatically look for a graphic file with the correct name. If it likes the name and format of the graphic file, it will be uploaded to the GPS unit, and you’re done. If you have multiple new custom waypoint icons, you can do them all at once at this stage. Now, in the screen where you choose from Custom waypoint icons, the new graphic will appear (in position 000):
And if now create a new waypoint in my GPS, and select this graphic for the waypoint, it will show up in the map display:
The “I” above the waypoint icon is the name I gave to the waypoint.
If you upload waypoints with these custom graphics to Garmin’s MapSource program, they won’t display in that program with the new waypoint icon graphic, but rather as plain dots. But there’s a way you can also add these custom waypoint graphics to MapSource as well, so that they will show up when you upload waypoints associated with custom waypoint icons; that’s coming up in Part III.
PS If you have a recent Garmin color mapping unit, and it doesn’t seem to support Custom icons, check to make sure you have the most recent firmware installed on your unit. Some older Garmins (like the 60C and 76C) didn’t support custom waypoint icons with their original firmware, but it was added as an option with one of the firmware updates.