<div><h4id="createsapngimageofarainbowgradient">Creates a PNG image of a rainbow gradient:</h4><pre><codeclass="python language-python hljs">width = <spanclass="hljs-number">100</span>
<div><h3id="examples">Examples</h3><div><h4id="createsapngimageofarainbowgradient">Creates a PNG image of a rainbow gradient:</h4><pre><codeclass="python language-python hljs">WIDTH = <spanclass="hljs-number">100</span>
height = <spanclass="hljs-number">100</span>
HEIGHT = <spanclass="hljs-number">100</span>
size = width * height
SIZE = WIDTH * HEIGHT
pixels = [<spanclass="hljs-number">255</span> * i/size<spanclass="hljs-keyword">for</span> i <spanclass="hljs-keyword">in</span> range(size)]
pixels = [<spanclass="hljs-number">255</span> * i/SIZE<spanclass="hljs-keyword">for</span> i <spanclass="hljs-keyword">in</span> range(SIZE)]
<div><h4id="addsnoisetoapngimage">Adds noise to a PNG image:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> random <spanclass="hljs-keyword">import</span> randint
<div><h4id="addsnoisetoapngimage">Adds noise to a PNG image:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> random <spanclass="hljs-keyword">import</span> randint
add_noise = <spanclass="hljs-keyword">lambda</span> value: max(<spanclass="hljs-number">0</span>, min(<spanclass="hljs-number">255</span>, value + randint(<spanclass="hljs-number">-20</span>, <spanclass="hljs-number">20</span>)))
add_noise = <spanclass="hljs-keyword">lambda</span> value: max(<spanclass="hljs-number">0</span>, min(<spanclass="hljs-number">255</span>, value + randint(<spanclass="hljs-number">-20</span>, <spanclass="hljs-number">20</span>)))
<li><strong><codeclass="python hljs"><spanclass="hljs-string">'HSV'</span></code> - 3x8-bit pixels, Hue, Saturation, Value color space.</strong></li>
<li><strong><codeclass="python hljs"><spanclass="hljs-string">'HSV'</span></code> - 3x8-bit pixels, Hue, Saturation, Value color space.</strong></li>
</ul><div><h3id="animation">Animation</h3><div><h4id="createsagifofabouncingball">Creates a GIF of a bouncing ball:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> PIL <spanclass="hljs-keyword">import</span> Image, ImageDraw
</ul><div><h3id="animation">Animation</h3><div><h4id="createsagifofabouncingball">Creates a GIF of a bouncing ball:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> PIL <spanclass="hljs-keyword">import</span> Image, ImageDraw
<spanclass="hljs-keyword">import</span> imageio
<spanclass="hljs-keyword">import</span> imageio
height, r = <spanclass="hljs-number">126</span>, <spanclass="hljs-number">10</span>
HEIGHT, R = <spanclass="hljs-number">126</span>, <spanclass="hljs-number">10</span>
draw.ellipse((height/<spanclass="hljs-number">2</span>-r, y, height/<spanclass="hljs-number">2</span>+r, y+<spanclass="hljs-number">2</span>*r), fill=<spanclass="hljs-string">'white'</span>)
draw.ellipse((HEIGHT/<spanclass="hljs-number">2</span>-R, y, HEIGHT/<spanclass="hljs-number">2</span>+R, y+<spanclass="hljs-number">2</span>*R), fill=<spanclass="hljs-string">'white'</span>)
<div><h3id="examples">Examples</h3><div><h4id="savesasinewavetoamonowavfile">Saves a sine wave to a mono WAV file:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> math <spanclass="hljs-keyword">import</span> pi, sin
<div><h3id="examples-1">Examples</h3><div><h4id="savesasinewavetoamonowavfile">Saves a sine wave to a mono WAV file:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-keyword">from</span> math <spanclass="hljs-keyword">import</span> pi, sin
frames_f = (sin(i * <spanclass="hljs-number">2</span> * pi * <spanclass="hljs-number">440</span> / <spanclass="hljs-number">44100</span>) <spanclass="hljs-keyword">for</span> i <spanclass="hljs-keyword">in</span> range(<spanclass="hljs-number">100000</span>))
frames_f = (sin(i * <spanclass="hljs-number">2</span> * pi * <spanclass="hljs-number">440</span> / <spanclass="hljs-number">44100</span>) <spanclass="hljs-keyword">for</span> i <spanclass="hljs-keyword">in</span> range(<spanclass="hljs-number">100000</span>))
frames_i = (int(a * <spanclass="hljs-number">30000</span>) <spanclass="hljs-keyword">for</span> a <spanclass="hljs-keyword">in</span> frames_f)
frames_i = (int(a * <spanclass="hljs-number">30000</span>) <spanclass="hljs-keyword">for</span> a <spanclass="hljs-keyword">in</span> frames_f)
xxxxxxxxxx