1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<html><head><title>im.matrix - Ren'Py Visual Novel Engine</title><link href="../../shared.css" rel="stylesheet"><link href="../../monobook.css" rel="stylesheet"><link href="../../common.css" rel="stylesheet"><link href="../../monobook2.css" rel="stylesheet"><link href="../../docs.css" rel="stylesheet" /></link></link></link></link></head><body><div id="bodyContent">
<p class="docnav"><a href="../../index.html">documentation index</a> ◦ <a href="../Reference_Manual.html">reference manual</a> ◦ <a href="../Function_Index.html">function index</a></p><p><a id="im.matrix" name="im.matrix"></a></p>
<h1><span class="mw-headline">im.matrix</span></h1>
<p><span id="im.matrix" /></p>
<table>
<tr>
<td valign="top">Function:</td>
<td valign="top"><b><strong class="selflink">im.matrix</strong></b></td>
<td valign="top">(matrix):</td>
</tr>
</table>
<div class="renpy-doc">
<p>Constructs an im.matrix object from the given matrix. im.matrix objects represent 5x5 matrices, and support a number of mathematical operations. The operations supported are matrix multiplication, scalar multiplication, element-wise addition, and element-wise subtraction. These operations are invoked using the standard mathematical operators (*, *, +, and -), respectively. If two im.matrix objects are multiplied, matrix multiplication is performed, otherwise scalar multiplication is used.</p>
<p><i>matrix</i> is a 20 or 25 element list. If the list is 20 elements long, it is padded with [0, 0, 0, 0, 1 ] to make a 5x5 matrix, suitable for multiplication.</p>
</div>
<p><a id="Example" name="Example"></a></p>
<h2><span class="mw-headline">Example</span></h2>
<pre>
<span class="slc"># This matrix raises the brightness by 10%.</span>
$ brightness <span class="sym">=</span> im<span class="sym">.</span><span class="kwd">matrix</span><span class="sym">([</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">.1</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">.1</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">.1</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span> <span class="sym">])</span>
<span class="slc"># This matrix halves the opacity.</span>
$ opacity <span class="sym">=</span> im<span class="sym">.</span><span class="kwd">matrix</span><span class="sym">([</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">1</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span>
<span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">0</span><span class="sym">,</span> <span class="num">.5</span><span class="sym">,</span> <span class="num">0</span> <span class="sym">])</span>
<span class="slc"># We can multiply them together, to get a matrix that modifies brightness and opacity.</span>
$ brightness_opacity <span class="sym">=</span> brightness <span class="sym">*</span> opacity
<span class="slc"># And supply that to im.MatrixColor.</span>
<span class="kwa">image</span> eileen altered <span class="sym">=</span> im<span class="sym">.</span><span class="kwd">MatrixColor</span><span class="sym">(</span><span class="str">"eileen_happy.png"</span><span class="sym">,</span> brightness_opacity<span class="sym">)</span>
</pre>
<p><br /></p>
<div class="visualClear" />
<hr /><p class="docnav"><a href="../../index.html">documentation index</a> ◦ <a href="../Reference_Manual.html">reference manual</a> ◦ <a href="../Function_Index.html">function index</a></p></div>
</body></html>
|