There are, of course, many images that we cannot create in code, but for those we can, such as icons, control views, and such, it is worth considering what advantages drawing with Core Graphics has over simply importing an image.
Here are just a few:
- Coding an image is way faster than waiting for a graphic artist to find time to create and send you a bunch of images. And changing, say, the color of a background is way faster still.
- Code is smaller than an image. Your app bundle is smaller, so it downloads more quickly.
- No more pixelated images. With Core Graphics, we store the instructions of how to draw an element, not an image of the ready-drawn element itself.
- There is no need for @2x or @3x resolution images. This is more of a consideration on mobile devices, but resources for a desktop app are frequently reused for iOS and friends.