Yes, this is trivial in WordPress.
Whenever you upload image WP keeps original file and generates additional sizes from it. Several of the sizes are built–in (see Settings > Media > Image sizes) and any additional ones can be added with add_image_size()
.
So when you develop your own theme as part of the process you:
- Determine image size you need.
- Register that image size and use it in the theme.
- WP will generate the size from existing originals for you.