Answer
Use canvas.DrawString with a rectangle plus horizontal/vertical alignment for text, setting FontColor, FontSize, and Font first. Use canvas.DrawImage with an IImage (loaded via PlatformImage.FromStream) for bitmaps. State properties (colors, stroke) apply until changed, so save/restore state as needed.
canvas.FontColor = Colors.Black;
canvas.FontSize = 16;
canvas.DrawString("Score", rect, HorizontalAlignment.Center,
VerticalAlignment.Center);Real-world example A custom badge control renders a number centered over a drawn circle entirely on the canvas.