<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN"
      xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/1999/xhtml
                          http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>
  <title>ImageMagick: Sponsors</title>
  <meta http-equiv="Content-Language" content="en-US"/>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
  <meta name="Application-name" content="ImageMagick"/>
  <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images automagically."/>
  <meta name="Application-url" content="http://www.imagemagick.org"/>
  <meta name="Generator" content="PHP"/>
  <meta name="Keywords" content="sponsors, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Image, Processing, Automagically"/>
  <meta name="Rating" content="GENERAL"/>
  <meta name="Robots" content="INDEX, FOLLOW"/>
  <meta name="Generator" content="ImageMagick Studio LLC"/>
  <meta name="Author" content="ImageMagick Studio LLC"/>
  <meta name="Revisit-after" content="2 DAYS"/>
  <meta name="Resource-type" content="document"/>
  <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
  <meta name="Distribution" content="Global"/>
  <link rel="icon" href="../images/wand.png"/>
  <link rel="shortcut icon" href="../images/wand.ico"  type="images/x-icon"/>
  <link rel="canonical" href="http://www.imagemagick.org" />
  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
  <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
  <link rel="stylesheet" type="text/css" href="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
  <style type="text/css" media="all">
    @import url("../www/magick.css");
  </style>
  <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
        'transitionIn'  : 'elastic',
        'transitionOut' : 'elastic',
        'overlayShow'   : false,
        'opacity'       : true
      });
    });
  </script>
</head>

<body id="www-imagemagick-org">
<div class="titlebar">
<div style="margin: 17px auto; float: left;">
  <script type="text/javascript">
  <!--
    google_ad_client = "pub-3129977114552745";
    google_ad_slot = "5439289906";
    google_ad_width = 728;
    google_ad_height = 90;
  //-->
  </script>
  <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>
</div>
<a href="http://www.imagemagick.org/discourse-server/">
  <img src="../images/logo.jpg"
  alt="ImageMagick Logo"
  style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
<a href="../index.html">
  <img src="../images/sprite.jpg"
  alt="ImageMagick Sprite"
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
</div>

<div class="westbar">

<div class="menu">
  <a title="About ImageMagick" href="../index.html">About ImageMagick</a>
</div>
<div class="menu">
  <a title="Binary Releases" href="../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
    <a title="Binary Release: Unix" href="../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Binary Release: MacOS X" href="../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
    <a title="Binary Release: iOS" href="../www/binary-releases.html#iOS">iOS</a>
</div>
<div class="sub">
    <a title="Binary Release: Windows" href="../www/binary-releases.html#windows">Windows</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Command-line Tools" href="../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Processing" href="../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Options" href="../www/command-line-options.html">Options</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
  <a title="Program Interfaces" href="../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickWand" href="../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickCore" href="../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
    <a title="Program Interface: PerlMagick" href="../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
    <a title="Program Interface: Magick++" href="../www/magick++.html">Magick++</a>
</div>
<div class="sep"></div>
<div  class="menu">
   <a title="Install from Source" href="../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
    <a title="Install from Source: Unix" href="../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Install from Source: Windows" href="../www/install-source.html#windows">Windows</a>
 </div>
<div class="menu">
  <a title="Resources" href="../www/resources.html">Resources</a>
</div>
<div class="menu">
  <a title="Architecture" href="../www/architecture.html">Architecture</a>
</div>
<div class="menu">
  <a title="Download" href="../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Search" href="../www/search.html">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Site Map" href="../www/sitemap.html">Site Map</a>
</div>
<div  class="sub">
  <a title="Site Map: Links" href="../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div  class="menu">
  <a rel="follow" title="Sponsors" href="../www/sponsors.html">Sponsors:</a>

<a href="http://www.networkredux.com">
  <img src="../images/networkredux.png" width="140" height="31" alt="[sponsor]"
  style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
<div class="sponsbox">
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540s suvalj -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201110010090s jen@seo lowprofilelinks -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a><!-- 201112010090s jr@pkwte... -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
   <a rel="follow" title="Sponsor: Bildbearbeitung" href="http://www.bildschliff.de">Bildbearbeitung</a><!-- 2012060100300 strait.de-->
</div>
</div>
</div>
</div>

<div class="eastbar">
  <div class="g-plusone" data-size="standard" data-count="false"></div>
</div>

<div class="main">

<h1>ImageMagick Sponsors</h1>
<p class="navigation-index">[<a href="#sponsor">Active ImageMagick Sponsors</a> &bull; <a href="#support">Support the ImageMagick Project</a>]</p>


<a id="sponsor"></a>
<h2>Active ImageMagick Sponsors</h2>
<div class="doc-section">

<p>We want to thank the sponsors of the ImageMagick project, including:</p>

<dl>
  <dd><a rel="follow" title="Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a></dd>
  <dd><a rel="follow" title="Autoteile" href="http://www.q11-shop.de">Autoteile</a></dd>
  <dd><a rel="follow" title="Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a></dd>
  <dd><a rel="follow" title="Bildbearbeitung" href="http://www.bildschliff.de">Bildbearbeitung</a></dd>
  <dd><a rel="follow" title="Brand shopping" href="http://brandport.net">Brand shopping</a></dd>
  <dd><a rel="follow" title="Druckerei" href="http://www.allesdruck.de">Druckerei</a></dd>
  <dd><a rel="follow" title="Druckerei" href="http://print24.com/de/">Druckerei</a></dd>
  <dd><a rel="follow" title="Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a></dd>
  <dd><a rel="follow" title="Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a></dd>
  <dd><a rel="follow" title="Free Catalogs" href="http://www.who-sells-it.com/">Free Catalogs</a></dd>
  <dd><a rel="follow" title="Günstige Turbolader" href="http://www.autoteile-carparts.de/">Günstige Turbolader</a></dd>
  <dd><a rel="follow" title="Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a></dd>
  <dd><a rel="follow" title="Kaffeevollautomaten Reparatur Kundendienst Berlin" href="http://www.kaffeemaschinen-center.de">Kaffeevollautomaten Reparatur Berlin</a></dd>
  <dd><a rel="follow" title="Kaffeemaschinen reparatur" href="http://www.kaffeemaschinen-reparatur.de">Kaffeemaschinen reparatur</a></dd>
  <dd><a rel="follow" title="Notebook Reparatur" href="http://www.atlasmultimedia.de">Notebook Reparatur</a></dd>
  <dd><a rel="follow" title="Notebook Reparatur" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur</a></dd>
  <dd><a rel="follow" title="Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a></dd>
  <dd><a rel="follow" title="Webdesign" href="http://www.renehornig.com">Webdesign</a></dd>
  <dd><a rel="follow" title="Web Hosting" href="http://www.micfo.com">Web Hosting</a></dd>
  <dd><a rel="follow" title="Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a></dd>
  <dd><a rel="follow" title="Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a></dd>
  <dd><a rel="follow" title="Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a></dd>
  <dd><a rel="follow" title="Web Hosting Reviews" href="http://www.hostreviewgeeks.com">Web Hosting Reviews</a></dd>
  <dd><a rel="follow" title="Web Hosting Reviews" href="http://www.hostreviewgeeks.com">Web Hosting Reviews</a></dd>
  <dd><a rel="follow" title="Web Hosting Secret Revealed" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a></dd>
</dl>

</div>

<h2><a id="support"></a>Support the ImageMagick Project</h2>
<div class="doc-section">

<p>ImageMagick has been freely available since the early 1990's. It has consistently been one of the most comprehensive free image processing packages available, but, unlike competing packages, it continues to be supported and enhanced.  Today, ImageMagick is more comprehensive and better supported than ever.</p>
<p>ImageMagick has enjoyed considerable support from commercial users. Since ImageMagick is not restricted from use in commercial or proprietary applications, it is used to support thousands of commercial web sites and is used in professional digital image and movie studios as well as publishing shops. It is also used as a component of a number of commercial applications. Many of these commercial users have made contributions to ImageMagick, large and small, often anonymous, but always appreciated.</p>
<p>ImageMagick Studio LLC is now looking for sponsorship from individuals and companies which use ImageMagick, or which would like to help support free software. If you or your company depends on ImageMagick, sponsoring ImageMagick is a way to express your gratitude and to contribute back to the further development of ImageMagick.</p>
<p>ImageMagick sponsorship can take many forms. The following are some possibilities:</p>
<ul>
<li>Contribute source code or patches to help improve ImageMagick.</li>
<li>Send us a licensed copy of Microsoft Visual Studio 2010.</li>
<li>Send us a licensed copy of Adobe Photoshop.</li>
<li>Lend us developers to add support for additional image formats or to finish integrating support for the SVG specification.</li>
<li>Provide technical writers to assist with the development of commercial-grade technical documentation.</li>
<li>Donate a quality SWOP or Eurostandard ICC profile to use as a default CMYK to RGB conversion profile.</li>
<li>Donate a workstation with a modern processor and plenty of memory and disk.  We would use it for our primary development environment.</li>
<li>Donate an Apple Macbook Pro or desktop so we can build and test ImageMagick in the Apple Development environment.</li>
<li>Help us produce an error-free ImageMagick run-time environment with the donation of Purify, BoundsChecker, or Insure++.</li>
<li>Produce ImageMagick DVDs for distribution.</li>
<li>Make a monetary contribution:</li></ul>


<fieldset>
<legend>Support the ImageMagick Project</legend>
<p>Sponsorships can be anonymous, or public. We are willing to provide recognition for significant sponsorships, and can provide links to the sponsor's web site. We reserve the right to refuse a sponsorship if we deem the site being sponsored as having inappropriate content. For direct monetary contributions, click on the donate button to contribute thru Paypal or with a credit card:</p>

<p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="E4UZGVA6PU7RC">
<input type="image" src="../images/donate.png" border="0" name="submit" alt="Support ImageMagick" width="92" height="26">
</form>
</p>

<p>or send a check or money order in US funds to</p>
<pre class="text">
  ImageMagick Studio LLC
  P.O. Box 40
  Landenberg, PA  19350
  USA
</pre>
</fieldset>

<p>Donate $25 USD and we acknowledge your gift with a <a href="../www/t-shirt.html">logoed t-shirt</a> (you must request the shirt to receive it).</p>

<p>If you prefer a recurring subscription or if you have any questions about sponsoring ImageMagick, please <a href="http://www.imagemagick.org/script/contact.php">contact us</a>.
</p>


</div>

</div>

<div id="linkbar">
    <span id="linkbar-west">&nbsp;</span>
    <span id="linkbar-center">
      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
  </div>
  <div style="clear: both; margin: 0; width: 100%; "></div>
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-17690367-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
</body>
</html>
