Is there a way to generate thumbnails within Drupal?
First, create an image style from the Drupal UI, or by implementing hook_image_default_styles in a custom module. An image style contains the resizing and cropping rules for your thumbnail. After that, you can use theme_image_style to create the html output for an image using the thumbnail style. Do not call theme_ functions directly though; call it like this: theme('image_style', ... ). The thumbnail will automatically be created in a non-destructive way when it is first requested.