  
<div id="snippet_197" class="snippet">
  <h2><a href="/snippets/197-How-to-add-a-text-caption-to-an-image-with-MiniMagick-and-Ruby" title="How to add a text caption to an image with MiniMagick and Ruby - Ruby - mini_magick, ruby, caption, text">How to add a text caption to an image with MiniMagick and Ruby</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>rubygems<span class="String">'</span></span>
<span class="line-numbers">   2 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>mini_magick<span class="String">'</span></span>
<span class="line-numbers">   3 </span> 
<span class="line-numbers">   4 </span> img <span class="Operator">=</span> <span class="LibraryClassType">MiniMagick</span>::<span class="FunctionName">Image</span>.<span class="FunctionName">from_file</span>(<span class="String"><span class="String">&quot;</span>jpeg.jpg<span class="String">&quot;</span></span>)
<span class="line-numbers">   5 </span> 
<span class="line-numbers">   6 </span> img.<span class="FunctionName">combine_options</span> <span class="Keyword">do </span>|<span class="Variable">c</span>|
<span class="line-numbers">   7 </span>   c.<span class="FunctionName">gravity</span> <span class="String"><span class="String">'</span>Southwest<span class="String">'</span></span>
<span class="line-numbers">   8 </span>   c.<span class="FunctionName">draw</span> <span class="String"><span class="String">'</span>text 10,10 &quot;whatever&quot;<span class="String">'</span></span>
<span class="line-numbers">   9 </span>   c.<span class="FunctionName">font</span> <span class="String"><span class="String">'</span>-*-helvetica-*-r-*-*-18-*-*-*-*-*-*-2<span class="String">'</span></span>
<span class="line-numbers">  10 </span>   c.<span class="FunctionName">fill</span>(<span class="String"><span class="String">&quot;</span>#FFFFFF<span class="String">&quot;</span></span>)
<span class="line-numbers">  11 </span> <span class="Keyword">end</span>
<span class="line-numbers">  12 </span> 
<span class="line-numbers">  13 </span> img.<span class="FunctionName">write</span>(<span class="String"><span class="String">&quot;</span>new.jpg<span class="String">&quot;</span></span>)
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/467-mini-magick">mini_magick</a>, <a href="/tags/8-ruby">ruby</a>, <a href="/tags/466-caption">caption</a>, <a href="/tags/468-text">text</a>
    
    
  </div>
</div>



  
<div id="snippet_196" class="snippet">
  <h2><a href="/snippets/196-How-to-add-a-watermark-to-pictures-with-MiniMagick-and-Ruby" title="How to add a watermark to pictures with MiniMagick and Ruby - Ruby - watermark, overlay, caption, mini_magick, ruby, gravity, draw">How to add a watermark to pictures with MiniMagick and Ruby</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>This code can be used to add a watermark to pictures:
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>rubygems<span class="String">'</span></span>
<span class="line-numbers">   2 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>mini_magick<span class="String">'</span></span>
<span class="line-numbers">   3 </span> 
<span class="line-numbers">   4 </span> <span class="LineComment"><span class="LineComment">#</span> Read the image</span>
<span class="line-numbers">   5 </span> img <span class="Operator">=</span> <span class="LibraryClassType">MiniMagick</span>::<span class="FunctionName">Image</span>.<span class="FunctionName">from_file</span>(<span class="String"><span class="String">&quot;</span>the_picture.jpg<span class="String">&quot;</span></span>)
<span class="line-numbers">   6 </span> 
<span class="line-numbers">   7 </span> <span class="LineComment"><span class="LineComment">#</span> 0,0 0,0 = add the watermark at coordinates: x, y, set watermark size to auto with 0,0</span>
<span class="line-numbers">   8 </span> img.<span class="FunctionName">draw</span> <span class="String"><span class="String">'</span>image Over 0,0 0,0 &quot;the_watermark.gif&quot;<span class="String">'</span></span>
<span class="line-numbers">   9 </span> 
<span class="line-numbers">  10 </span> img.<span class="FunctionName">write</span>(<span class="String"><span class="String">&quot;</span>watermarked_image.jpg<span class="String">&quot;</span></span>)
</pre></p>


	<h2>How to add a watermark to the bottom-left corner?</h2>


	<p>To add a watermark to the bottom-left corner, you need to use the combine_options method to pass more than one command plus parameters to MiniMagick (gravity and draw commands):</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>rubygems<span class="String">'</span></span>
<span class="line-numbers">   2 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>mini_magick<span class="String">'</span></span>
<span class="line-numbers">   3 </span> 
<span class="line-numbers">   4 </span> img <span class="Operator">=</span> <span class="LibraryClassType">MiniMagick</span>::<span class="FunctionName">Image</span>.<span class="FunctionName">from_file</span>(<span class="String"><span class="String">&quot;</span>the_image.jpg<span class="String">&quot;</span></span>)
<span class="line-numbers">   5 </span> 
<span class="line-numbers">   6 </span> img.<span class="FunctionName">combine_options</span> <span class="Keyword">do </span>|<span class="Variable">c</span>|
<span class="line-numbers">   7 </span>   c.<span class="FunctionName">gravity</span> <span class="String"><span class="String">'</span>SouthWest<span class="String">'</span></span>
<span class="line-numbers">   8 </span>   c.<span class="FunctionName">draw</span> <span class="String"><span class="String">'</span>image Over 0,0 0,0 &quot;the_watermark.gif&quot;<span class="String">'</span></span>
<span class="line-numbers">   9 </span> <span class="Keyword">end</span>
<span class="line-numbers">  10 </span> 
<span class="line-numbers">  11 </span> img.<span class="FunctionName">write</span>(<span class="String"><span class="String">&quot;</span>new.jpg<span class="String">&quot;</span></span>)
</pre></p>


	<h2>Troubleshooting</h2>


	<p>See <a href="http://www.imagemagick.org/script/command-line-options.php#draw">mogrify&#8217;s documentation</a> for details on how to use the draw command.</p>


	<p>If you get this error it might mean that mogrify can&#8217;t find the watermark image, or that the syntax is incorrect:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> mogrify: <span class="Variable">Non</span><span class="Operator">-</span>conforming drawing primitive definition <span class="String"><span class="String">`</span>image'.</span>
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/464-watermark">watermark</a>, <a href="/tags/465-overlay">overlay</a>, <a href="/tags/466-caption">caption</a>, <a href="/tags/467-mini-magick">mini_magick</a>, <a href="/tags/8-ruby">ruby</a>, <a href="/tags/469-gravity">gravity</a>, <a href="/tags/470-draw">draw</a>
    
    
  </div>
</div>






