2018-12-26
This commit is contained in:
parent
8da5520d81
commit
97ec8d60ed
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -165,7 +165,7 @@ Public Member Functions</h2></td></tr>
|
|||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> : _rows(rows)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> , _columns(columns)</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> , _type(type)</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> , _background(background)</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> , _foreground(foreground)</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  check_color(background);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">string</span> &color : foreground)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  check_color(color);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> }</div></div><!-- fragment -->
|
||||
<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> : _rows(rows)</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> , _columns(columns)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> , _type(type)</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> , _background(background)</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> , _foreground(foreground)</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  check_color(background);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">string</span> &color : foreground)</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  check_color(color);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  }</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div></div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
|
@ -204,12 +204,15 @@ Public Member Functions</h2></td></tr>
|
|||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The image </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  check_entropy(digest, _type);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">const</span> uint16_t height = width / _columns * _rows;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  ttdebug << <span class="stringliteral">"width: "</span> << std::to_string(width)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  << <span class="stringliteral">", height: "</span> << std::to_string(height) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">switch</span> (_type)</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">case</span> identicon_type::simple:</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> generate_simple(digest, width, height);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">case</span> identicon_type::libravatar:</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">case</span> identicon_type::sigil:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> generate_libravatar(digest, width, height);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div></div><!-- fragment -->
|
||||
<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  check_entropy(digest, _type);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> uint16_t height = width / _columns * _rows;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  ttdebug << <span class="stringliteral">"width: "</span> << std::to_string(width)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  << <span class="stringliteral">", height: "</span> << std::to_string(height) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">switch</span> (_type)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">case</span> identicon_type::simple:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> generate_simple(digest, width, height);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">case</span> identicon_type::libravatar:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">case</span> identicon_type::sigil:</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">return</span> generate_libravatar(digest, width, height);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div></div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>src/<a class="el" href="identiconpp_8hpp_source.html">identiconpp.hpp</a></li>
|
||||
<li>src/checks.cpp</li>
|
||||
<li>src/identiconpp.cpp</li>
|
||||
<li>src/libravatar.cpp</li>
|
||||
<li>src/simple.cpp</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -19,7 +19,7 @@
|
|||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">identiconpp
|
||||
 <span id="projectnumber">0.1.1</span>
|
||||
 <span id="projectnumber">0.1.2</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -44,25 +44,45 @@ $(function() {
|
|||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p><b>identiconpp</b> is a library to generate identicons. Written in C++.</p>
|
||||
<p>There are currently 2 types of identicons supported. libravatar/sigil and simple.</p>
|
||||
<p>You get the images as <code>Magick::Image</code>. This allows you to make all kinds of modifications.</p>
|
||||
<h2>Features</h2>
|
||||
<ul>
|
||||
<li>[x] Simple identicons</li>
|
||||
<li>[ ] libravatar/sigil identicons</li>
|
||||
</ul>
|
||||
<h2>Usage</h2>
|
||||
<p>The HTML reference can be generated with build_doc.sh, if doxygen is installed. It is also available at <a href="https://doc.schlomp.space/identiconpp/classIdenticonpp.html">doc.schlomp.space/identiconpp/</a>.</p>
|
||||
<h2>Install</h2>
|
||||
<h3>Example</h3>
|
||||
<div class="fragment"><div class="line">{C++}</div><div class="line">// Compile with g++ $(Magick++-config --cppflags --ldflags) -lidenticonpp</div><div class="line">#include <identiconpp.hpp></div><div class="line">#include <Magick++/Image.h></div><div class="line"></div><div class="line">int main()</div><div class="line">{</div><div class="line"> Identiconpp identicon(5, 5, Identiconpp::identicon_type::simple,</div><div class="line"> "ffffff88", { "800000ff" });</div><div class="line"> Magick::Image img;</div><div class="line"> img = identicon.generate("55502f40dc8b7c769880b10874abc9d0", 200);</div><div class="line"> img.write("identicon.png");</div><div class="line">}</div></div><!-- fragment --><h2>Install</h2>
|
||||
<h3>Gentoo</h3>
|
||||
<p>Gentoo ebuilds are available via my <a href="https://schlomp.space/tastytea/overlay">repository</a>.</p>
|
||||
<h3>Automatically generated packages</h3>
|
||||
<p>Binary packages are generated automatically for each <a href="https://schlomp.space/tastytea/identiconpp/releases">release</a> in the formats:</p>
|
||||
<ul>
|
||||
<li>deb</li>
|
||||
<li>rpm</li>
|
||||
<li>tar.gz</li>
|
||||
</ul>
|
||||
<p>They are generated on Debian Stretch 64 bit and signed with my <a href="https://tastytea.de/tastytea_autosign.asc">automatic signing key</a>.</p>
|
||||
<h3>From source</h3>
|
||||
<h4>Dependencies</h4>
|
||||
<ul>
|
||||
<li>C++ compiler (tested: <a href="https://gcc.gnu.org/">gcc</a> 5/6/7/8, <a href="https://llvm.org/">clang</a> 5/6)</li>
|
||||
<li><a href="https://cmake.org/">cmake</a> (at least 3.2)</li>
|
||||
<li><a href="https://cryptopp.com">crypto++</a> (tested: 7.0 / 5.6)</li>
|
||||
<li><a href="https://www.imagemagick.org/">imagemagick</a> (tested: 7.0 / 6.7)</li>
|
||||
</ul>
|
||||
<p>On a Debian system, install the packages: <code>build-essential cmake libcrypto++-dev libmagick++-dev</code>.</p>
|
||||
<p>On a Debian system, install the packages: <code>build-essential cmake libmagick++-dev</code>.</p>
|
||||
<h4>Compile</h4>
|
||||
<div class="fragment"><div class="line">mkdir build</div><div class="line">cd build</div><div class="line">cmake ..</div><div class="line">make</div><div class="line">make install</div></div><!-- fragment --><h5>cmake options</h5>
|
||||
<ul>
|
||||
<li><code>-DCMAKE_BUILD_TYPE=Debug</code> for a debug build</li>
|
||||
<li>One of:<ul>
|
||||
<li><code>-DWITH_DEB=YES</code> to generate a deb-package</li>
|
||||
<li><code>-DWITH_RPM=YES</code> to generate an rpm-package</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>To generate a binary package, execute <code>make package</code></p>
|
||||
<h2>Contributing</h2>
|
||||
<p>Contributions are always welcome. You can submit them as pull requests or via email to <code>tastytea</code><tt>tastytea.de.</p>
|
||||
<h2>Contact</h2>
|
||||
|
|
Loading…
Reference in New Issue