? sites/all/modules/devel
? sites/default/files
? sites/default/settings.php
Index: modules/image/image.field.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/image/image.field.inc,v
retrieving revision 1.21
diff -u -p -r1.21 image.field.inc
--- modules/image/image.field.inc	30 Apr 2010 12:53:47 -0000	1.21
+++ modules/image/image.field.inc	13 May 2010 04:44:48 -0000
@@ -26,6 +26,7 @@ function image_field_info() {
         'title_field' => 0,
         'max_resolution' => '',
         'min_resolution' => '',
+        'instance_default_image' => 0,
       ),
       'default_widget' => 'image_image',
       'default_formatter' => 'image',
@@ -174,6 +175,14 @@ function image_field_instance_settings_f
     '#weight' => 11,
   );
 
+  $form['instance_default_image'] = array(
+    '#title' => t('Default image'),
+    '#type' => 'managed_file',
+    '#description' => t('If no image is uploaded, this image will be shown on display.'),
+    '#default_value' => $settings['instance_default_image'],
+    '#upload_location' => 'public://default_images/',
+  );
+
   return $form;
 }
 
@@ -213,7 +222,16 @@ function image_field_load($entity_type, 
 function image_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) {
   // If there are no files specified at all, use the default.
   foreach ($entities as $id => $entity) {
-    if (empty($items[$id]) && $field['settings']['default_image']) {
+    if (empty($items[$id]) && $instances[$id]['settings']['instance_default_image']) {
+      if ($file = file_load($instances[$id]['settings']['instance_default_image'])) {
+        $items[$id][0] = (array) $file + array(
+          'is_default' => TRUE,
+          'alt' => '',
+          'title' => '',
+        );
+      }
+    }
+    else if (empty($items[$id]) && $field['settings']['default_image']) {
       if ($file = file_load($field['settings']['default_image'])) {
         $items[$id][0] = (array) $file + array(
           'is_default' => TRUE,
