Pinterest for Lightbox and/or Colorbox
I used the hook THEME_image_formatter to accomplish this.  It would be fairly easy to create a module to do this I just haven't had the time.  Anyway here is what I did.

function THEME_image_formatter($variables) {
  $item = $variables['item'];
  $image = array(
    'path' =&gt; $item['uri'],
  );

  if (array_key_exists('alt', $item)) {
    $image['alt'] = $item['alt'];
  }

  if (isset($item['attributes'])) {
    $image['attributes'] = $item['attributes'];
  }

  if (isset($item['width']) &amp;&amp; isset($item['height'])) {
    $image['width'] = $item['width'];
    $image['height'] = $item['height'];
  }

  // Do not output an empty 'title' attribute.
  if (isset($item['title']) &amp;&amp; drupal_strlen($item['title']) &gt; 0) {
    $image['title'] = $item['title'];
  }

  if ($variables['image_style']) {
    $image['style_name'] = $variables['image_style'];
    $output = '';
    // I targeted the blog post image style to add to all blog photos.
    if($image['style_name'] == 'blog_post') {
      $output .= '&lt;div class="blog_post"&gt;';

      $media = urlencode(file_create_url($item['uri']));
      $title = variable_get('site_name', '') .' - '. str_replace('+', '%2B', $variables['item']['title']);
      $path = $variables['item']['path'];

      $output .= '&lt;div class="image_info"&gt;&lt;div class="copy"&gt;';
      $output .= '&lt;a href="//pinterest.com/pin/create/button/?url='. $path .'&amp;media='. $media .'&amp;description='. $title .'" data-pin-do="buttonPin" data-pin-config="none"&gt;&lt;img src="//assets.pinterest.com/images/pidgets/pin_it_button.png" /&gt;&lt;/a&gt;';
      $output .= variable_get('site_name', '') .'&lt;br /&gt;'. $variables['item']['title'];
      $output .= '&lt;/div&gt;&lt;/div&gt;';
    }
    $output .= theme('image_style', $image);
    if($image['style_name'] == 'blog_post') {
      $output .= '&lt;/div&gt;';
    }
  }
  else {
    $output = theme('image', $image);
  }

  // The link path and link options are both optional, but for the options to be
  // processed, the link path must at least be an empty string.
  if (isset($variables['path']['path'])) {
    $path = $variables['path']['path'];
    $options = isset($variables['path']['options']) ? $variables['path']['options'] : array();
    // When displaying an image inside a link, the html option must be TRUE.
    $options['html'] = TRUE;
    $output = l($output, $path, $options);
  }

  return $output;
}


Just pay attention to the blog_post check and output that I created.  I have some javascript that shows and hides the button on hover but you can add that if you want.

Dont forget to add your pintrest JS to the head of your doc.

--Good Luck