2018-12-26
This commit is contained in:
parent
97ec8d60ed
commit
5c640d1881
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -46,9 +46,9 @@ $(function() {
|
||||||
|
|
||||||
<p>This is the complete list of members for <a class="el" href="classIdenticonpp.html">Identiconpp</a>, including all inherited members.</p>
|
<p>This is the complete list of members for <a class="el" href="classIdenticonpp.html">Identiconpp</a>, including all inherited members.</p>
|
||||||
<table class="directory">
|
<table class="directory">
|
||||||
<tr class="even"><td class="entry"><a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">generate</a>(const string &digest, const uint16_t width=100)</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"></td></tr>
|
<tr class="even"><td class="entry"><a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">algorithm</a> enum name</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"></td></tr>
|
||||||
<tr><td class="entry"><a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">identicon_type</a> enum name</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"></td></tr>
|
<tr><td class="entry"><a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">generate</a>(const string &digest, const uint16_t width=100)</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"></td></tr>
|
||||||
<tr class="even"><td class="entry"><a class="el" href="classIdenticonpp.html#a9d8c071c7c02b5550c23061ecf0fa3ce">Identiconpp</a>(const uint8_t rows, const uint8_t columns, identicon_type type=identicon_type::simple, const string &background="ffffffff", const vector< string > &foreground={ "000000ff" })</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
|
<tr class="even"><td class="entry"><a class="el" href="classIdenticonpp.html#ae4692a51c4771370f97c66e83460a29b">Identiconpp</a>(const uint8_t rows, const uint8_t columns, algorithm type=algorithm::ltr_symmetric, const string &background="ffffffff", const vector< string > &foreground={ "000000ff" })</td><td class="entry"><a class="el" href="classIdenticonpp.html">Identiconpp</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
|
||||||
</table></div><!-- contents -->
|
</table></div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -55,18 +55,17 @@ $(function() {
|
||||||
<table class="memberdecls">
|
<table class="memberdecls">
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||||
Public Types</h2></td></tr>
|
Public Types</h2></td></tr>
|
||||||
<tr class="memitem:ae05d01125190ffec88f1653ffa352bed"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">identicon_type</a> { <b>simple</b>,
|
<tr class="memitem:a229201bc23b0fabbcca60f2fe0188fa9"><td class="memItemLeft" align="right" valign="top"><a id="a229201bc23b0fabbcca60f2fe0188fa9"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">algorithm</a> { <b>ltr_symmetric</b>,
|
||||||
<b>libravatar</b>,
|
|
||||||
<b>sigil</b>
|
<b>sigil</b>
|
||||||
}</td></tr>
|
}</td></tr>
|
||||||
<tr class="memdesc:ae05d01125190ffec88f1653ffa352bed"><td class="mdescLeft"> </td><td class="mdescRight">List of identicon types. <a href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">More...</a><br /></td></tr>
|
<tr class="memdesc:a229201bc23b0fabbcca60f2fe0188fa9"><td class="mdescLeft"> </td><td class="mdescRight">List of identicon algorithms. <br /></td></tr>
|
||||||
<tr class="separator:ae05d01125190ffec88f1653ffa352bed"><td class="memSeparator" colspan="2"> </td></tr>
|
<tr class="separator:a229201bc23b0fabbcca60f2fe0188fa9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
</table><table class="memberdecls">
|
</table><table class="memberdecls">
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||||
Public Member Functions</h2></td></tr>
|
Public Member Functions</h2></td></tr>
|
||||||
<tr class="memitem:a9d8c071c7c02b5550c23061ecf0fa3ce"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#a9d8c071c7c02b5550c23061ecf0fa3ce">Identiconpp</a> (const uint8_t rows, const uint8_t columns, <a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">identicon_type</a> type=identicon_type::simple, const string &background="ffffffff", const vector< string > &foreground={ "000000ff" })</td></tr>
|
<tr class="memitem:ae4692a51c4771370f97c66e83460a29b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#ae4692a51c4771370f97c66e83460a29b">Identiconpp</a> (const uint8_t rows, const uint8_t columns, <a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">algorithm</a> type=algorithm::ltr_symmetric, const string &background="ffffffff", const vector< string > &foreground={ "000000ff" })</td></tr>
|
||||||
<tr class="memdesc:a9d8c071c7c02b5550c23061ecf0fa3ce"><td class="mdescLeft"> </td><td class="mdescRight">Initialises an instance of <a class="el" href="classIdenticonpp.html" title="Base class for identiconpp. ">Identiconpp</a>. <a href="#a9d8c071c7c02b5550c23061ecf0fa3ce">More...</a><br /></td></tr>
|
<tr class="memdesc:ae4692a51c4771370f97c66e83460a29b"><td class="mdescLeft"> </td><td class="mdescRight">Initialises an instance of <a class="el" href="classIdenticonpp.html" title="Base class for identiconpp. ">Identiconpp</a>. <a href="#ae4692a51c4771370f97c66e83460a29b">More...</a><br /></td></tr>
|
||||||
<tr class="separator:a9d8c071c7c02b5550c23061ecf0fa3ce"><td class="memSeparator" colspan="2"> </td></tr>
|
<tr class="separator:ae4692a51c4771370f97c66e83460a29b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
<tr class="memitem:a82f624d713e2d32d5fdb26b9112b821a"><td class="memItemLeft" align="right" valign="top">Magick::Image </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">generate</a> (const string &digest, const uint16_t width=100)</td></tr>
|
<tr class="memitem:a82f624d713e2d32d5fdb26b9112b821a"><td class="memItemLeft" align="right" valign="top">Magick::Image </td><td class="memItemRight" valign="bottom"><a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">generate</a> (const string &digest, const uint16_t width=100)</td></tr>
|
||||||
<tr class="memdesc:a82f624d713e2d32d5fdb26b9112b821a"><td class="mdescLeft"> </td><td class="mdescRight">Generates identicon from digest. <a href="#a82f624d713e2d32d5fdb26b9112b821a">More...</a><br /></td></tr>
|
<tr class="memdesc:a82f624d713e2d32d5fdb26b9112b821a"><td class="mdescLeft"> </td><td class="mdescRight">Generates identicon from digest. <a href="#a82f624d713e2d32d5fdb26b9112b821a">More...</a><br /></td></tr>
|
||||||
<tr class="separator:a82f624d713e2d32d5fdb26b9112b821a"><td class="memSeparator" colspan="2"> </td></tr>
|
<tr class="separator:a82f624d713e2d32d5fdb26b9112b821a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
@ -74,35 +73,9 @@ Public Member Functions</h2></td></tr>
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
<div class="textblock"><p>Base class for identiconpp. </p>
|
<div class="textblock"><p>Base class for identiconpp. </p>
|
||||||
<p>Use this class for all your identicons. Exceptions will be thrown on error. </p>
|
<p>Use this class for all your identicons. Exceptions will be thrown on error. </p>
|
||||||
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||||
<a id="ae05d01125190ffec88f1653ffa352bed"></a>
|
<a id="ae4692a51c4771370f97c66e83460a29b"></a>
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ae05d01125190ffec88f1653ffa352bed">◆ </a></span>identicon_type</h2>
|
<h2 class="memtitle"><span class="permalink"><a href="#ae4692a51c4771370f97c66e83460a29b">◆ </a></span>Identiconpp()</h2>
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">Identiconpp::identicon_type</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>List of identicon types. </p>
|
|
||||||
<p>libravatar and sigil are synonymous. </p>
|
|
||||||
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  simple,</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  libravatar,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  sigil</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  };</div></div><!-- fragment -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
||||||
<a id="a9d8c071c7c02b5550c23061ecf0fa3ce"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a9d8c071c7c02b5550c23061ecf0fa3ce">◆ </a></span>Identiconpp()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
<div class="memitem">
|
||||||
<div class="memproto">
|
<div class="memproto">
|
||||||
|
@ -125,8 +98,8 @@ Public Member Functions</h2></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="paramkey"></td>
|
<td class="paramkey"></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="paramtype"><a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">identicon_type</a> </td>
|
<td class="paramtype"><a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">algorithm</a> </td>
|
||||||
<td class="paramname"><em>type</em> = <code>identicon_type::simple</code>, </td>
|
<td class="paramname"><em>type</em> = <code>algorithm::ltr_symmetric</code>, </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="paramkey"></td>
|
<td class="paramkey"></td>
|
||||||
|
@ -204,15 +177,15 @@ Public Member Functions</h2></td></tr>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="section return"><dt>Returns</dt><dd>The image </dd></dl>
|
<dl class="section return"><dt>Returns</dt><dd>The image </dd></dl>
|
||||||
<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 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> algorithm::ltr_symmetric:</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_ltr_symmetric(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> algorithm::sigil:</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> generate_sigil(digest, width, height);</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>  }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> }</div></div><!-- fragment -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
<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/<a class="el" href="identiconpp_8hpp_source.html">identiconpp.hpp</a></li>
|
||||||
<li>src/checks.cpp</li>
|
<li>src/checks.cpp</li>
|
||||||
<li>src/identiconpp.cpp</li>
|
<li>src/identiconpp.cpp</li>
|
||||||
<li>src/libravatar.cpp</li>
|
<li>src/ltr_symmetric.cpp</li>
|
||||||
<li>src/simple.cpp</li>
|
<li>src/sigil.cpp</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -40,14 +40,14 @@ $(function() {
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
|
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
|
||||||
|
<li>algorithm
|
||||||
|
: <a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">Identiconpp</a>
|
||||||
|
</li>
|
||||||
<li>generate()
|
<li>generate()
|
||||||
: <a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">Identiconpp</a>
|
: <a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">Identiconpp</a>
|
||||||
</li>
|
</li>
|
||||||
<li>identicon_type
|
|
||||||
: <a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">Identiconpp</a>
|
|
||||||
</li>
|
|
||||||
<li>Identiconpp()
|
<li>Identiconpp()
|
||||||
: <a class="el" href="classIdenticonpp.html#a9d8c071c7c02b5550c23061ecf0fa3ce">Identiconpp</a>
|
: <a class="el" href="classIdenticonpp.html#ae4692a51c4771370f97c66e83460a29b">Identiconpp</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -40,8 +40,8 @@ $(function() {
|
||||||
</div><!-- top -->
|
</div><!-- top -->
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
 <ul>
|
 <ul>
|
||||||
<li>identicon_type
|
<li>algorithm
|
||||||
: <a class="el" href="classIdenticonpp.html#ae05d01125190ffec88f1653ffa352bed">Identiconpp</a>
|
: <a class="el" href="classIdenticonpp.html#a229201bc23b0fabbcca60f2fe0188fa9">Identiconpp</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -44,7 +44,7 @@ $(function() {
|
||||||
: <a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">Identiconpp</a>
|
: <a class="el" href="classIdenticonpp.html#a82f624d713e2d32d5fdb26b9112b821a">Identiconpp</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Identiconpp()
|
<li>Identiconpp()
|
||||||
: <a class="el" href="classIdenticonpp.html#a9d8c071c7c02b5550c23061ecf0fa3ce">Identiconpp</a>
|
: <a class="el" href="classIdenticonpp.html#ae4692a51c4771370f97c66e83460a29b">Identiconpp</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- contents -->
|
</div><!-- contents -->
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -19,7 +19,7 @@
|
||||||
<tr style="height: 56px;">
|
<tr style="height: 56px;">
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
<div id="projectname">identiconpp
|
<div id="projectname">identiconpp
|
||||||
 <span id="projectnumber">0.1.2</span>
|
 <span id="projectnumber">0.2.0</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -47,13 +47,15 @@ $(function() {
|
||||||
<p>You get the images as <code>Magick::Image</code>. This allows you to make all kinds of modifications.</p>
|
<p>You get the images as <code>Magick::Image</code>. This allows you to make all kinds of modifications.</p>
|
||||||
<h2>Features</h2>
|
<h2>Features</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>[x] Simple identicons</li>
|
<li>[x] Symmetric identicons</li>
|
||||||
<li>[ ] libravatar/sigil identicons</li>
|
<li>[x] sigil identicons</li>
|
||||||
|
<li>[ ] Asymmetric identicons</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2>Usage</h2>
|
<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>
|
<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>
|
||||||
|
<p>You need to generate hashes yourself, any hexadecimal string will do. Make sure to use a safe hashing algorithm for sensitive data (<b>not MD5</b>). You can select as many columns and rows as you like, but make sure you have enough entropy. If something seems to be wrong, exceptions will be thrown.</p>
|
||||||
<h3>Example</h3>
|
<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>
|
<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::algorithm::ltr_symmetric,</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>
|
<h3>Gentoo</h3>
|
||||||
<p>Gentoo ebuilds are available via my <a href="https://schlomp.space/tastytea/overlay">repository</a>.</p>
|
<p>Gentoo ebuilds are available via my <a href="https://schlomp.space/tastytea/overlay">repository</a>.</p>
|
||||||
<h3>Automatically generated packages</h3>
|
<h3>Automatically generated packages</h3>
|
||||||
|
@ -88,7 +90,38 @@ $(function() {
|
||||||
<h2>Contact</h2>
|
<h2>Contact</h2>
|
||||||
<p>See <a href="https://tastytea.de/">https://tastytea.de/</a></p>
|
<p>See <a href="https://tastytea.de/">https://tastytea.de/</a></p>
|
||||||
<h2>License & Copyright</h2>
|
<h2>License & Copyright</h2>
|
||||||
<div class="fragment"><div class="line">Copyright © 2018 tastytea <tastytea@tastytea.de>.</div><div class="line">License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.</div><div class="line">This program comes with ABSOLUTELY NO WARRANTY. This is free software,</div><div class="line">and you are welcome to redistribute it under certain conditions.</div></div><!-- fragment --> </div></div><!-- contents -->
|
<div class="fragment"><div class="line">Copyright © 2018 tastytea <tastytea@tastytea.de>.</div><div class="line">License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.</div><div class="line">This program comes with ABSOLUTELY NO WARRANTY. This is free software,</div><div class="line">and you are welcome to redistribute it under certain conditions.</div></div><!-- fragment --><h2>Algorithms</h2>
|
||||||
|
<h3>ltr_symmetric</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Create image with width=columns, height=rows.</li>
|
||||||
|
<li>Set background color.</li>
|
||||||
|
<li>Select half of the columns, or half of the columns + 1 if uneven.<ul>
|
||||||
|
<li><code>columns / 2 + columns % 2</code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Pixels are drawn from left to right, top to bottom.</li>
|
||||||
|
<li>Use bits from digest to determine if a pixel is painted(1) or not(0).</li>
|
||||||
|
<li>Mirror the pixels vertically.</li>
|
||||||
|
<li>Use the following bits to pick the foreground color.</li>
|
||||||
|
<li>Scale image proportionally to requested width.</li>
|
||||||
|
</ul>
|
||||||
|
<div class="fragment"><div class="line"> 0111 0011 1101 1100 […] 1111 0111 0101 0111</div><div class="line">^ ^</div><div class="line">+----------------------------+--------------></div><div class="line"> | |</div><div class="line"> pixel matrix foreground color</div></div><!-- fragment --><p>Implemented in <a href="https://schlomp.space/tastytea/identiconpp/src/branch/master/src/ltr_symmetric.cpp">ltr_symmetric.cpp</a></p>
|
||||||
|
<h3>sigil</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Create image with width=columns, height=rows.</li>
|
||||||
|
<li>Set background color.</li>
|
||||||
|
<li>Select half of the columns, or half of the columns + 1 if uneven.<ul>
|
||||||
|
<li><code>columns / 2 + columns % 2</code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Pixels are drawn from top to bottom, left to right.</li>
|
||||||
|
<li>Use the first 8 bits to pick the foreground color.</li>
|
||||||
|
<li>Use the following bits to determine if a pixel is painted(1) or not(0).</li>
|
||||||
|
<li>Mirror the pixels vertically.</li>
|
||||||
|
<li>Scale image proportionally to requested width.</li>
|
||||||
|
</ul>
|
||||||
|
<div class="fragment"><div class="line"> 0111 0011 1101 1100</div><div class="line">^ ^</div><div class="line">+---------+---------></div><div class="line"> | |</div><div class="line">foreground color |</div><div class="line"> pixel matrix</div></div><!-- fragment --><p>Implemented in <a href="https://schlomp.space/tastytea/identiconpp/src/branch/master/src/sigil.cpp">sigil.cpp</a> </p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
<!-- start footer part -->
|
<!-- start footer part -->
|
||||||
<hr class="footer"/><address class="footer"><small>
|
<hr class="footer"/><address class="footer"><small>
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user