<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>KColorUtils</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="../common/doxygen.css" /> <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" /> </head> <body> <div id="container"> <div id="header"> <div id="header_top"> <div> <div> <img alt ="" src="../common/top-kde.jpg"/> KDE 4.4 PyKDE API Reference </div> </div> </div> <div id="header_bottom"> <div id="location"> <ul> <li>KDE's Python API</li> </ul> </div> <div id="menu"> <ul> <li><a href="../modules.html">Overview</a></li> <li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li> <li><a href="http://kde.org/family/">Sitemap</a></li> <li><a href="http://kde.org/contact/">Contact Us</a></li> </ul> </div> </div> </div> <div id="body_wrapper"> <div id="body"> <div id="right"> <div class="content"> <div id="main"> <div class="clearer"> </div> <h1>KColorUtils Namespace Reference</h1> <code>from PyKDE4.kdeui.KColorUtils import *</code> <p> <h2>Detailed Description</h2> <p>A set of methods used to work with colors. </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#contrastRatio">contrastRatio</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a0, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a1)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#darken">darken</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a0, float amount=0.5, float chromaGain=1.0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#lighten">lighten</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a0, float amount=0.5, float chromaInverseGain=1.0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="#luma">luma</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#mix">mix</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> c1, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> c2, float bias=0.5)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#overlayColors">overlayColors</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> base, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> paint, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpainter::compositionmode.html">QPainter.CompositionMode</a> comp=QPainter.CompositionMode_SourceOver)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#shade">shade</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> a0, float lumaAmount, float chromaAmount=0.0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#tint">tint</a> (, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> base, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> color, float amount=0.3)</td></tr> </table> <hr><h2>Function Documentation</h2><a class="anchor" name="contrastRatio"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">float contrastRatio</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a0</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a1</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Calculate the contrast ratio between two colors, according to the W3C/WCAG2.0 algorithm, (Lmax + 0.05)/(Lmin + 0.05), where Lmax and Lmin are the luma values of the lighter color and the darker color, respectively. </p> <p> A contrast ration of 5:1 (result == 5.0) is the minimum for "normal" text to be considered readable (large text can go as low as 3:1). The ratio ranges from 1:1 (result == 1.0) to 21:1 (result == 21.0). </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> KColorUtils.luma </dd></dl> </p></div></div><a class="anchor" name="darken"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> darken</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a0</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>amount=0.5</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>chromaGain=1.0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Adjust the luma of a color by changing its distance from black. </p> <p> <li> amount == 1.0 gives black </li> <li> amount == 0.5 results in a color whose luma is halfway between 0.0 </li> and that of the original color <li> amount == 0.0 gives the original color </li> <li> amount == -1.0 gives a color that is 'twice as far from black' as </li> the original color, that is luma(result) == 2*luma(color) </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>amount</em> </td><td> factor by which to adjust the luma component of the color <tr><td></td><td valign="top"><em>chromaGain</em> </td><td> (optional) factor by which to adjust the chroma component of the color; 1.0 means no change, 0.0 minimizes chroma </td></tr> </table></dl> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> KColorUtils.shade </dd></dl> </p></div></div><a class="anchor" name="lighten"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> lighten</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a0</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>amount=0.5</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>chromaInverseGain=1.0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Adjust the luma of a color by changing its distance from white. </p> <p> <li> amount == 1.0 gives white </li> <li> amount == 0.5 results in a color whose luma is halfway between 1.0 </li> and that of the original color <li> amount == 0.0 gives the original color </li> <li> amount == -1.0 gives a color that is 'twice as far from white' as </li> the original color, that is luma(result) == 1.0 - 2*(1.0 - luma(color)) </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>amount</em> </td><td> factor by which to adjust the luma component of the color <tr><td></td><td valign="top"><em>chromaInverseGain</em> </td><td> (optional) factor by which to adjust the chroma component of the color; 1.0 means no change, 0.0 maximizes chroma </td></tr> </table></dl> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> KColorUtils.shade </dd></dl> </p></div></div><a class="anchor" name="luma"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">float luma</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Calculate the luma of a color. Luma is weighted sum of gamma-adjusted R'G'B' components of a color. The result is similar to qGray. The range is from 0.0 (black) to 1.0 (white). </p> <p> KColorUtils.darken(), KColorUtils.lighten() and KColorUtils.shade() operate on the luma of a color. </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> http://en.wikipedia.org/wiki/Luma_(video) </dd></dl> </p></div></div><a class="anchor" name="mix"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> mix</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>c1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>c2</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>bias=0.5</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Blend two colors into a new color by linear combination. <pre class="fragment"> QColor lighter = KColorUtils.mix(myColor, Qt.white) </pre> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>c1</em> </td><td> first color. <tr><td></td><td valign="top"><em>c2</em> </td><td> second color. <tr><td></td><td valign="top"><em>bias</em> </td><td> weight to be used for the mix. <b>bias</b> <= 0 gives <b>c1,</b> <b>bias</b> >= 1 gives <b>c2.</b> <b>bias</b> == 0.5 gives a 50% blend of <b>c1</b> and <b>c2.</b> </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="overlayColors"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> overlayColors</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>base</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>paint</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qpainter::compositionmode.html">QPainter.CompositionMode</a> </td> <td class="paramname"><em>comp=QPainter.CompositionMode_SourceOver</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Blend two colors into a new color by painting the second color over the first using the specified composition mode. <pre class="fragment"> QColor white(Qt.white); white.setAlphaF(0.5); QColor lighter = KColorUtils.overlayColors(myColor, white); </pre> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>base</em> </td><td> the base color (alpha channel is ignored). <tr><td></td><td valign="top"><em>paint</em> </td><td> the color to be overlayed onto the base color. <tr><td></td><td valign="top"><em>comp</em> </td><td> the CompositionMode used to do the blending. </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="shade"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> shade</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>a0</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>lumaAmount</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>chromaAmount=0.0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Adjust the luma and chroma components of a color. The amount is added to the corresponding component. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>lumaAmount</em> </td><td> amount by which to adjust the luma component of the color; 0.0 results in no change, -1.0 turns anything black, 1.0 turns anything white <tr><td></td><td valign="top"><em>chromaAmount</em> </td><td> (optional) amount by which to adjust the chroma component of the color; 0.0 results in no change, -1.0 minimizes chroma, 1.0 maximizes chroma </td></tr> </table></dl> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> KColorUtils.luma </dd></dl> </p></div></div><a class="anchor" name="tint"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> tint</td> <td>(</td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>base</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcolor.html">QColor</a> </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"><em>amount=0.3</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Create a new color by tinting one color with another. This function is meant for creating additional colors withing the same class (background, foreground) from colors in a different class. Therefore when <b>amount</b> is low, the luma of <b>base</b> is mostly preserved, while the hue and chroma of <b>color</b> is mostly inherited. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>base</em> </td><td> color to be tinted <tr><td></td><td valign="top"><em>color</em> </td><td> color with which to tint <tr><td></td><td valign="top"><em>amount</em> </td><td> how strongly to tint the base; 0.0 gives <b>base,</b> 1.0 gives <b>color</b> </td></tr> </table></dl> <p> </p></div></div> </div> </div> </div> <div id="left"> <div class="menu_box"> <div class="nav_list"> <ul> <li><a href="../allclasses.html">Full Index</a></li> </ul> </div> <a name="cp-menu" /><div class="menutitle"><div> <h2 id="cp-menu-project">Modules</h2> </div></div> <div class="nav_list"> <ul><li><a href="../akonadi/index.html">akonadi</a></li> <li><a href="../dnssd/index.html">dnssd</a></li> <li><a href="../kdecore/index.html">kdecore</a></li> <li><a href="../kdeui/index.html">kdeui</a></li> <li><a href="../khtml/index.html">khtml</a></li> <li><a href="../kio/index.html">kio</a></li> <li><a href="../knewstuff/index.html">knewstuff</a></li> <li><a href="../kparts/index.html">kparts</a></li> <li><a href="../kutils/index.html">kutils</a></li> <li><a href="../nepomuk/index.html">nepomuk</a></li> <li><a href="../phonon/index.html">phonon</a></li> <li><a href="../plasma/index.html">plasma</a></li> <li><a href="../polkitqt/index.html">polkitqt</a></li> <li><a href="../solid/index.html">solid</a></li> <li><a href="../soprano/index.html">soprano</a></li> </ul></div></div> </div> </div> <div class="clearer"/> </div> <div id="end_body"></div> </div> <div id="footer"><div id="footer_text"> This documentation is maintained by <a href="mailto:simon@simonzone.com">Simon Edwards</a>.<br /> KDE<sup>®</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div></div> </body> </html>