I have been helping my wife develop a custom content management system as a place to store her recipes and share them with the rest of the world. Holly is great with design and she was putting together some remarkable posts. For each recipe she had been creating custom images with text overlays to note preparation time, cook time, and servings.
She had images like the below that she would modify in Photoshop by a text layer on top of the image.
Uploading custom images for each post seemed like a waste of space and I figured we could do this easily with PHP and/or CSS in general. I am still certain that it could be done using CSS and/or PHP, however, I struggled considerably to make it so. I spent a couple of hours researching the best way to implement using those two technologies.
Once I started looking at HTML5's canvas element things quickly fell in to place. I mean very quickly. What had thus far taken me 2 hours with limited success quite literally took me 5 minutes to implement with HTML5 canvas.