Possible to make image styles (thumbnails) public while original images are kept private in D7? I love the fact that D7 allows you to choose whether files should be stored in the public or private file system on a per-field basis. 

But here's my question: is it possible to have image files that are stored in the private file system, while thumbnails etc. created via image styles are stored in the public file system, so anyone can access them? In other words, I want to protect the original image files, but not their thumbnails. 

By default theme_image_style seems to place the generated styles in the same file system (public or private) as the original image, and I don't see any arguments to change that...
What about creating 2 fields ? One for storing the thumbnail and let it "public". The other one for storing the original image, mark it as "private" and define a permission for it using field permissions module ?

Edit Oct, 26: let's add some code :)
So if your confortable with creating a module, here are the instructions.
Create 2 fields: field_img_public and field_img_private, one will be on the public filesystem, the other on the private.  

Then create a module to store this hook_node_presave():

function MYMODULE_node_presave($node) {
  //Retrieve the file object from the public image.
  $fid_items = field_get_items('node', $node, 'field_img_public');
  $fid = $fid_items[0]['fid'];
  $img_public = file_load($fid);

  //Create the private path.
  $img_private_path = str_replace('public://', 'private://', $img_public-&gt;uri);
  $private_dir = pathinfo($img_private_path,  PATHINFO_DIRNAME);

  //Verify if the private folder exists.
  file_prepare_directory($private_dir, FILE_CREATE_DIRECTORY);

  //Copy the image
  $img_private = file_copy($img_public, $img_private_path, FILE_EXISTS_RENAME);

  //Save the resulting file object.
  $node-&gt;field_img_private['und'][0] = (array)$img_private;
}


Then you just upload the public image and the private get populated.