How do I show an image using a relative or external url?
Sure, assuming Drupal 7, you can create your own field formatter for this in a custom module:

/**
 * Implements hook_field_formatter_info().
 */
function YOURMODULE_field_formatter_info() {

  $info = array();

  $info['image_source_formatter'] = array(
    'label' =&gt; t('Image Source Formatter'),
    'description' =&gt; t('Display the image sourced in this field.'),
    'field types' =&gt; array('text'),
  );

  return $info;

}

/**
 * Implements hook_field_formatter_view().
 */
function YOURMODULE_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $element = array();

  switch ($display['type']) {

    case 'image_source_formatter':
      foreach ($items as $delta =&gt; $item) {
        $element[$delta] = array(
          '#theme' =&gt; 'image',
          '#path' =&gt; $item['safe_value'], // you can also set '#height', '#width', '#alt', '#title' and '#attributes' here as well, see theme_image() for more details
        );
      }
      break;

  }

  return $element;

}


Clear your caches to be on the safe side, and then you can use this new field formatter for this field, eg, you can go to the Manage Display in your Content Type and select this:



for the plain text field and instead of outputting the text, it will theme the text as the path to an image.

In this field, you can have sites/default/files/foo.jpg if you want and it will source it locally, or you can have http://www.example.com/foo/bar/baz.jpg and that'll work as well, as this will call theme('image', $variables) with the path set to the value of this field.

ADDITION:  The URL Formatter and Simple Field Formatter modules appear to do this for you if you don't want to create your own custom module.