Using theme_image_style()
As always, the Drupal documentation has the answer. You need to move the file to the files directory. Also you should never call a theme function directly but instead call the wrapper theme function so:

theme_image_style(...) // Don't do this ever

theme('image_style', ...) // Do it like this and make themers happy.


From the API docs:


  $variables An associative array containing:
  
  
  style_name: The name of the style to be used to alter the original image.
  path: The path of the image file relative to the Drupal files directory. This function does not work with images outside the files directory nor with remotely hosted images.
  alt: The alternative text for text-based browsers.
  title: The title text is displayed when the image is hovered in some popular browsers.
  attributes: Associative array of attributes to be placed in the img tag.