わかりました、これが作業コードです。  
Mediaモジュールはhook_file_formatter_info()、画像をレンダリングするためのコールバックを設定するために実装されます。  
Drupalの方法と同様にhook_file_formatter_info_alter()、デフォルトの動作を変更する方法があります。そこで、file_entity.moduleからデフォルトのコールバックを取得し、それをカスタムモジュールに複製しました。次に、これをオルターに配線しました。私のカスタムコールバックには、画像のスタイルをチェックし、要素をリンクでラップする追加のロジックがあります。  
唯一の本当の癖は、のデフォルトの実装がtheme_link()リーフ要素であると想定しているため、最初にイメージ要素をレンダリングする必要があるということです。
補足として、これは画像にalt / titleテキストを取得する方法でもあり、デフォルトではありません。
function MYMODULE_file_formatter_info_alter(&$info) {
  if (!empty($info['file_image'])) {
    $info['file_image']['view callback'] = 'MYMODULE_file_formatter_file_image_view';
  }
}
function MYMODULE_file_formatter_file_image_view($file, $display, $langcode) {
  // Prevent PHP notices when trying to read empty files.
  // @see http://drupal.org/node/681042
  if (!$file->filesize) {
    return;
  }
  // Do not bother proceeding if this file does not have an image mime type.
  if (strpos($file->filemime, 'image/') !== 0) {
    return;
  }
  if (file_entity_file_is_local($file) && $image = image_load($file->uri)) {
    if (!empty($display['settings']['image_style'])) {
      $element = array(
        '#theme' => 'image_style',
        '#style_name' => $display['settings']['image_style'],
        '#path' => $file->uri,
        '#width' => $image->info['width'],
        '#height' => $image->info['height'],
      );
      if ($display['settings']['image_style'] == 'MYSTYLE') {
        $element = array(
          '#theme' => 'link',
          '#text' => drupal_render($element),
          '#path' => 'media/' . $file->fid,
          '#options' => array(
            'attributes' => array(),
            'html' => TRUE,
          ),
        );
      }
      else {
      }
    }
    else {
      $element = array(
        '#theme' => 'image',
        '#path' => $file->uri,
        '#width' => $image->info['width'],
        '#height' => $image->info['height'],
      );
    }
    return $element;
  }
}
               
              
hook_field_attach_view_alter()か?