Is there a way to generate thumbnails within Drupal? I see that Drupal 7 natively includes the GD toolkit. Looking at the documentation, there are Several Functions available to me that would seem to make it possible to, from an existing image, generate temporary thumbnails. The issue, however, is that any of the resizing methods seem to be destructive, and there is no simple way to copy images. PHP, of course, offers facilities that are low-level enough to handle this...and I'll use those if I have to...but is there a simple, Drupal way to programmatically create a thumbnail to a specified size?
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.