Image sizes on upload

Hi
I have created a custom content type and added an image field. However I would like to use the image in various places ie possibly a top banner, possibly an ad type of image in the sidebar etc. I am learning drupal from previously using wordpress and in wordpress you would upload the image once and because image sizes had been specified, it was possible to upload the image (large version) and then it would automatically create all images sizes for that image - so img_1024.jpg, img_512.jpg etc was created and then to display an image you would do something like display_image(image_id,image_style) (pseudo code) and you could use the image prefix ie small, medium, large to display the correct image. I cant find how to do this in drupal - I have set custom image sizes but I can only see where you set the display of an image field to be a set size - hence it would appear that you have to have an image upload field for each size required which seems a little strange and hence I wondered if I was doing something wrong.
Please can anyone advise
Thanks
Nick