Hi, I build a timestamp camera app so I've solved these exact problems. Canvas.DrawText is the right approach and TIMAI2's blocks will work, but a few things will bite you later. Draw the text after you scale the image, not before, or the font size will be wrong on different resolutions. Draw it twice, once in black offset by one pixel and once in white on top, otherwise the text disappears on bright surfaces like snow or white walls. For the GPS, don't read the location at the moment of capture. Start the LocationSensor when the camera screen opens and keep the last good reading, because a cold fix can take fifteen seconds and your user will have already taken the photo. Check the accuracy value and don't stamp anything if it's worse than about fifty metres, since a wrong location is worse than none. And if you want the street address rather than coordinates you'll need a reverse geocoding call, which needs a connection, so handle the offline case by stamping coordinates only. If you want to see how the output should look, mine is GeoProof.