This file is indexed.

/usr/share/doc/racket/teachpack/image.html is in racket-doc 6.7-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>1.1&nbsp;Manipulating Images: "image.rkt"</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9658;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x"><span style="font-style: italic">How to Design Programs</span> Teachpacks</a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="htdp.html" class="tocviewselflink" data-pltdoc="x">Ht<span class="mywbr"> &nbsp;</span>DP Teachpacks</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="2htdp2htdp.html" class="tocviewlink" data-pltdoc="x">Ht<span class="mywbr"> &nbsp;</span>DP/<span class="mywbr"> &nbsp;</span>2e Teachpacks</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_1&quot;);">&#9660;</a></td><td>1&nbsp;</td><td><a href="htdp.html" class="tocviewlink" data-pltdoc="x">Ht<span class="mywbr"> &nbsp;</span>DP Teachpacks</a></td></tr></table><div class="tocviewsublist" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">1.1&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Manipulating Images:<span class="mywbr"> &nbsp;</span> <span class="stt">"image.rkt"</span><a name="(idx._(gentag._0._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.2&nbsp;</td><td><a href="world.html" class="tocviewlink" data-pltdoc="x">Simulations and Animations:<span class="mywbr"> &nbsp;</span> <span class="stt">"world.rkt"</span><a name="(idx._(gentag._1._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.3&nbsp;</td><td><a href="convert.html" class="tocviewlink" data-pltdoc="x">Converting Temperatures:<span class="mywbr"> &nbsp;</span> <span class="stt">"convert.rkt"</span><a name="(idx._(gentag._2._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.4&nbsp;</td><td><a href="guess.html" class="tocviewlink" data-pltdoc="x">Guessing Numbers:<span class="mywbr"> &nbsp;</span> <span class="stt">"guess.rkt"</span><a name="(idx._(gentag._3._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.5&nbsp;</td><td><a href="master.html" class="tocviewlink" data-pltdoc="x">Master<span class="mywbr"> &nbsp;</span>Minding:<span class="mywbr"> &nbsp;</span> <span class="stt">"master.rkt"</span><a name="(idx._(gentag._4._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.6&nbsp;</td><td><a href="master-play.html" class="tocviewlink" data-pltdoc="x">Playing Master<span class="mywbr"> &nbsp;</span>Mind:<span class="mywbr"> &nbsp;</span> <span class="stt">"master-<wbr></wbr>play.rkt"</span><a name="(idx._(gentag._5._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.7&nbsp;</td><td><a href="draw.html" class="tocviewlink" data-pltdoc="x">Simple Drawing:<span class="mywbr"> &nbsp;</span> <span class="stt">"draw.rkt"</span><a name="(idx._(gentag._6._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.8&nbsp;</td><td><a href="hangman.html" class="tocviewlink" data-pltdoc="x">Hangman:<span class="mywbr"> &nbsp;</span> <span class="stt">"hangman.rkt"</span><a name="(idx._(gentag._7._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.9&nbsp;</td><td><a href="hangman-play.html" class="tocviewlink" data-pltdoc="x">Playing Hangman:<span class="mywbr"> &nbsp;</span> <span class="stt">"hangman-<wbr></wbr>play.rkt"</span><a name="(idx._(gentag._8._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.10&nbsp;</td><td><a href="arrow.html" class="tocviewlink" data-pltdoc="x">Managing Control Arrows:<span class="mywbr"> &nbsp;</span> <span class="stt">"arrow.rkt"</span><a name="(idx._(gentag._9._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.11&nbsp;</td><td><a href="docs.html" class="tocviewlink" data-pltdoc="x">Manipulating Simple HTML Documents:<span class="mywbr"> &nbsp;</span> <span class="stt">"docs.rkt"</span><a name="(idx._(gentag._10._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.12&nbsp;</td><td><a href="dir.html" class="tocviewlink" data-pltdoc="x">Working with Files and Directories:<span class="mywbr"> &nbsp;</span> <span class="stt">"dir.rkt"</span><a name="(idx._(gentag._11._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.13&nbsp;</td><td><a href="graphing.html" class="tocviewlink" data-pltdoc="x">Graphing Functions:<span class="mywbr"> &nbsp;</span> <span class="stt">"graphing.rkt"</span><a name="(idx._(gentag._12._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.14&nbsp;</td><td><a href="gui.html" class="tocviewlink" data-pltdoc="x">Simple Graphical User Interfaces:<span class="mywbr"> &nbsp;</span> <span class="stt">"gui.rkt"</span><a name="(idx._(gentag._13._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.15&nbsp;</td><td><a href="arrow-gui.html" class="tocviewlink" data-pltdoc="x">An Arrow GUI:<span class="mywbr"> &nbsp;</span> <span class="stt">"arrow-<wbr></wbr>gui.rkt"</span><a name="(idx._(gentag._14._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.16&nbsp;</td><td><a href="elevator.html" class="tocviewlink" data-pltdoc="x">Controlling an Elevator:<span class="mywbr"> &nbsp;</span> <span class="stt">"elevator.rkt"</span><a name="(idx._(gentag._15._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.17&nbsp;</td><td><a href="lkup-gui.html" class="tocviewlink" data-pltdoc="x">Lookup GUI:<span class="mywbr"> &nbsp;</span> <span class="stt">"lkup-<wbr></wbr>gui.rkt"</span><a name="(idx._(gentag._16._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.18&nbsp;</td><td><a href="guess-gui.html" class="tocviewlink" data-pltdoc="x">Guess GUI:<span class="mywbr"> &nbsp;</span> <span class="stt">"guess-<wbr></wbr>gui.rkt"</span><a name="(idx._(gentag._17._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.19&nbsp;</td><td><a href="show-queen.html" class="tocviewlink" data-pltdoc="x">Queens:<span class="mywbr"> &nbsp;</span> <span class="stt">"show-<wbr></wbr>queen.rkt"</span><a name="(idx._(gentag._18._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr><tr><td align="right">1.20&nbsp;</td><td><a href="matrix.html" class="tocviewlink" data-pltdoc="x">Matrix Functions:<span class="mywbr"> &nbsp;</span> <span class="stt">"matrix.rkt"</span><a name="(idx._(gentag._19._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_2&quot;);">&#9658;</a></td><td>1.1&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Manipulating Images:<span class="mywbr"> &nbsp;</span> <span class="stt">"image.rkt"</span><a name="(idx._(gentag._0._(lib._teachpack/teachpack..scrbl)))"></a></a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_2"><table cellspacing="0" cellpadding="0"><tr><td align="right">1.1.1&nbsp;</td><td><a href="#%28part._.Images%29" class="tocviewlink" data-pltdoc="x">Images</a></td></tr><tr><td align="right">1.1.2&nbsp;</td><td><a href="#%28part._modes-colors%29" class="tocviewlink" data-pltdoc="x">Modes and Colors</a></td></tr><tr><td align="right">1.1.3&nbsp;</td><td><a href="#%28part._creational%29" class="tocviewlink" data-pltdoc="x">Creating Basic Shapes</a></td></tr><tr><td align="right">1.1.4&nbsp;</td><td><a href="#%28part._properties%29" class="tocviewlink" data-pltdoc="x">Basic Image Properties</a></td></tr><tr><td align="right">1.1.5&nbsp;</td><td><a href="#%28part._composition%29" class="tocviewlink" data-pltdoc="x">Composing Images</a></td></tr><tr><td align="right">1.1.6&nbsp;</td><td><a href="#%28part._manipulation%29" class="tocviewlink" data-pltdoc="x">Manipulating Images</a></td></tr><tr><td align="right">1.1.7&nbsp;</td><td><a href="#%28part._scenes%29" class="tocviewlink" data-pltdoc="x">Scenes</a></td></tr><tr><td align="right">1.1.8&nbsp;</td><td><a href="#%28part._pixel-lists%29" class="tocviewlink" data-pltdoc="x">Miscellaneous Image Manipulation and Creation</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber">1.1.1<tt>&nbsp;</tt></span><a href="#%28part._.Images%29" class="tocsubseclink" data-pltdoc="x">Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image=?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.2<tt>&nbsp;</tt></span><a href="#%28part._modes-colors%29" class="tocsubseclink" data-pltdoc="x">Modes and Colors</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._color%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym">color</span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-color~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>color?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.3<tt>&nbsp;</tt></span><a href="#%28part._creational%29" class="tocsubseclink" data-pltdoc="x">Creating Basic Shapes</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._rectangle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">rectangle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._circle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">circle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._ellipse%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">ellipse</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._triangle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._star%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">star</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._regular-polygon%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">regular-<wbr></wbr>polygon</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._line%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">line</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._text%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">text</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.4<tt>&nbsp;</tt></span><a href="#%28part._properties%29" class="tocsubseclink" data-pltdoc="x">Basic Image Properties</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-width%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>width</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-height%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>height</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-x%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pinhole-<wbr></wbr>x</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-y%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pinhole-<wbr></wbr>y</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._put-pinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">put-<wbr></wbr>pinhole</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._move-pinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">move-<wbr></wbr>pinhole</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.5<tt>&nbsp;</tt></span><a href="#%28part._composition%29" class="tocsubseclink" data-pltdoc="x">Composing Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._add-line%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">add-<wbr></wbr>line</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay/<span class="mywbr"> &nbsp;</span>xy</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-inside~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>inside?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._find-image%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">find-<wbr></wbr>image</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.6<tt>&nbsp;</tt></span><a href="#%28part._manipulation%29" class="tocsubseclink" data-pltdoc="x">Manipulating Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-tl%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">shrink-<wbr></wbr>tl</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-tr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">shrink-<wbr></wbr>tr</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-bl%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">shrink-<wbr></wbr>bl</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-br%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">shrink-<wbr></wbr>br</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">shrink</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.7<tt>&nbsp;</tt></span><a href="#%28part._scenes%29" class="tocsubseclink" data-pltdoc="x">Scenes</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scene?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._empty-scene%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">empty-<wbr></wbr>scene</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._place-image%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">place-<wbr></wbr>image</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._nw~3arectangle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">nw:<span class="mywbr"> &nbsp;</span>rectangle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scene+<span class="mywbr"> &nbsp;</span>line</span></span></a></td></tr><tr><td><span class="tocsublinknumber">1.1.8<tt>&nbsp;</tt></span><a href="#%28part._pixel-lists%29" class="tocsubseclink" data-pltdoc="x">Miscellaneous Image Manipulation and Creation</a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._.List-of-color%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym">List-<wbr></wbr>of-<wbr></wbr>color</span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-~3ecolor-list%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>&gt;color-<wbr></wbr>list</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._color-list-~3eimage%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">color-<wbr></wbr>list-<wbr></wbr>&gt;image</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._alpha-color%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym">alpha-<wbr></wbr>color</span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-~3ealpha-color-list%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>&gt;alpha-<wbr></wbr>color-<wbr></wbr>list</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._alpha-color-list-~3eimage%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">alpha-<wbr></wbr>color-<wbr></wbr>list-<wbr></wbr>&gt;image</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="htdp.html" title="backward to &quot;1 HtDP Teachpacks&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="htdp.html" title="up to &quot;1 HtDP Teachpacks&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="world.html" title="forward to &quot;1.2 Simulations and Animations: &quot;world.rkt&quot;&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h4 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;image&quot;">1.1<tt>&nbsp;</tt><a name="(part._image)"></a><a name="(mod-path._htdp/image)"></a>Manipulating Images: <span class="stt">"image.rkt"</span><a name="(idx._(gentag._0._(lib._teachpack/teachpack..scrbl)))"></a></h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528form._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._require%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">htdp/image</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller">&nbsp;package:</span> <span class="stt">htdp-lib</span></span></td></tr></table></p><blockquote><p><span style="background-color: yellow"><span style="font-weight: bold">NOTE:</span></span> This library is deprecated; use <a href="2htdpimage.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">2htdp/image</span></a>, instead. For the foreseeable time, we will
continue to support the teachpack for your existing programs.</p></blockquote><p>The teachpack provides functions for constructing and manipulating
images. Basic, colored images are created as outlines or solid
shapes. Additional functions allow for the composition of images.</p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;Images&quot;">1.1.1<tt>&nbsp;</tt><a name="(part._.Images)"></a>Images</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image~3f))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">image?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Is <span class="RktVar">x</span> an image?</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image~3d~3f))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">image=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Are <span class="RktVar">x</span> and
<span class="RktVar">y</span> the same image?</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;modes-colors&quot;">1.1.2<tt>&nbsp;</tt><a name="(part._modes-colors)"></a>Modes and Colors</h5><p><a name="(tech._mode)"></a><span style="font-style: italic">Mode</span> <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._one-of%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">one-of/c</a></span><span class="stt"> </span><span class="RktVal">'</span><span class="RktVal">solid</span><span class="stt"> </span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="stt"> </span><span class="RktVal">"solid"</span><span class="stt"> </span><span class="RktVal">"outline"</span><span class="RktPn">)</span></p><p>A <a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a> is used to specify whether painting a shape fills or
outlines the form.</p><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>struct</p></div></div><table cellspacing="0" cellpadding="0" class="RForeground"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=define-struct.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._struct%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">struct</a></span></td><td><span class="hspace">&nbsp;</span></td><td><a name="(def._((lib._htdp/image..rkt)._color-blue))"></a><a name="(def._((lib._htdp/image..rkt)._color-green))"></a><a name="(def._((lib._htdp/image..rkt)._color-red))"></a><a name="(def._((lib._htdp/image..rkt)._make-color))"></a><a name="(def._((lib._htdp/image..rkt)._color~3f))"></a><a name="(def._((lib._htdp/image..rkt)._struct~3acolor))"></a><a name="(def._((lib._htdp/image..rkt)._color))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><span class="RktSymDef RktSym">color</span></span></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">red</span><span class="stt"> </span><span class="RktSym">green</span><span class="stt"> </span><span class="RktSym">blue</span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:extra-constructor-name</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">red</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">green</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">blue</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote><p><a name="(tech._rgb)"></a><span style="font-style: italic">RGB</span> <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._color~3f%29%29" class="RktValLink" data-pltdoc="x">color?</a></span></p><p>A <a href="#%28tech._rgb%29" class="techoutside" data-pltdoc="x"><span class="techinside">RGB</span></a> describes a color via a shade of red, blue, and green colors
 (e.g., <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="stt"> </span><span class="RktVal">100</span><span class="stt"> </span><span class="RktVal">200</span><span class="stt"> </span><span class="RktVal">30</span><span class="RktPn">)</span>).</p><p><a name="(tech._color)"></a><span style="font-style: italic">Color</span> <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=symbols.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._symbol%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">symbol?</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=strings.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._string%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">string?</a></span><span class="stt"> </span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._color~3f%29%29" class="RktValLink" data-pltdoc="x">color?</a></span><span class="RktPn">)</span></p><p>A <a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a> is a color-symbol (e.g., <span class="RktVal">'</span><span class="RktVal">blue</span>) or a color-string
 (e.g., <span class="RktVal">"blue"</span>) or an <a href="#%28tech._rgb%29" class="techoutside" data-pltdoc="x"><span class="techinside">RGB</span></a> structure.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-color~3f))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-color?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Determines if the input is a
valid image <a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a>.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;creational&quot;">1.1.3<tt>&nbsp;</tt><a name="(part._creational)"></a>Creating Basic Shapes</h5><p>In DrRacket, you can insert images from your file system. Use PNG images
whenever possible. In addition, you can create basic
shapes with the following functions.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._rectangle))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">rectangle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">w</span><span class="hspace">&nbsp;</span><span class="RktVar">h</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">w</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">h</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates a <span class="RktVar">w</span> by <span class="RktVar">h</span> rectangle, filled in according to
<span class="RktVar">m</span> and painted in color <span class="RktVar">c</span></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._circle))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._circle%29%29" class="RktValDef RktValLink" data-pltdoc="x">circle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">r</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">r</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates a circle or disk of radius <span class="RktVar">r</span>, filled in according to
<span class="RktVar">m</span> and painted in color <span class="RktVar">c</span></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._ellipse))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValDef RktValLink" data-pltdoc="x">ellipse</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">w</span><span class="hspace">&nbsp;</span><span class="RktVar">h</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">w</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">h</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates a <span class="RktVar">w</span> by <span class="RktVar">h</span> ellipse, filled in according to
<span class="RktVar">m</span> and painted in color <span class="RktVar">c</span></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._triangle))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates an upward pointing equilateral
triangle whose side is <span class="RktVar">s</span> pixels long, filled in according to
<span class="RktVar">m</span> and painted in color <span class="RktVar">c</span></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._star))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._star%29%29" class="RktValDef RktValLink" data-pltdoc="x">star</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">n</span><span class="hspace">&nbsp;</span><span class="RktVar">outer</span><span class="hspace">&nbsp;</span><span class="RktVar">inner</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">n</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3e%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&gt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outer</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3e%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&gt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">inner</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3e%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&gt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates a multi-pointed star with <span class="RktVar">n</span> points, an <span class="RktVar">outer</span>
radius for the max distance of the points to the center, and
an <span class="RktVar">inner</span> radius for the min distance to the center. </div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._regular-polygon))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">regular-polygon</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">r</span><span class="hspace">&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>[<span class="RktVar">angle</span>]<span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym">side</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">r</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">m</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._mode%29" class="techoutside" data-pltdoc="x"><span class="techinside">Mode</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._real%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a regular polygon with <span class="RktVar">s</span> sides inscribed in
a circle of radius <span class="RktVar">r</span>, using mode <span class="RktVar">m</span> and
color <span class="RktVar">c</span>. If an angle is specified, the polygon is rotated by that
angle.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._line))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._line%29%29" class="RktValDef RktValLink" data-pltdoc="x">line</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates a line colored <span class="RktVar">c</span> from (0,0) to <span class="RktPn">(</span><span class="RktVar">x</span><span class="stt"> </span><span class="RktRdr">,</span><span class="RktVar">y</span><span class="RktPn">)</span>.
See <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span> below.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._text))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._text%29%29" class="RktValDef RktValLink" data-pltdoc="x">text</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">f</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym">Image</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=strings.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._string%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">f</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates an image of the text <span class="RktVar">s</span> at point size <span class="RktVar">f</span>
and painted in color <span class="RktVar">c</span>.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;properties&quot;">1.1.4<tt>&nbsp;</tt><a name="(part._properties)"></a>Basic Image Properties</h5><p>To understand how images are manipulated, you need to understand the
basic properties of images.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-width))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-width%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-width</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Obtain <span class="RktVar">i</span>&rsquo;s width in pixels</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-height))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-height%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-height</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Obtain <span class="RktVar">i</span>&rsquo;s height in pixels</div></p><p>For the composition of images, you must know about <span style="font-style: italic">pinholes</span>. Every
image come with a pinhole. For images created
with the above functions, the pinhole is at the center of the shape except
for those created from <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span>.
The <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span> function puts the pinhole at the upper left corner of
the image, and <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span> puts the pinhole at the beginning of the line
(meaning that if the first two arguments to <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span> are positive,
the pinhole is also in the upper left corner).
The pinhole can be moved, of course, and compositions
locate pinholes according to their own rules. When in doubt you can always
find out where the pinhole is and place it where convenient.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._pinhole-x))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-x%29%29" class="RktValDef RktValLink" data-pltdoc="x">pinhole-x</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines the <span class="RktSym">x</span>
coordinate of the pinhole, measuring from the left of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._pinhole-y))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-y%29%29" class="RktValDef RktValLink" data-pltdoc="x">pinhole-y</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines the <span class="RktSym">y</span>
coordinate of the pinhole, measuring from the top (down) of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._put-pinhole))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">put-pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a new image with the pinhole in the location specified by
<span class="RktVar">x</span> and <span class="RktVar">y</span>, counting from the left and top (down),
respectively.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._move-pinhole))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._move-pinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">move-pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-x</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">delta-x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">delta-y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a new image with the pinhole moved down and right by
<span class="RktVar">delta-x</span> and <span class="RktVar">delta-y</span> with respect to its current
location. Use negative numbers to move it up or left.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;composition&quot;">1.1.5<tt>&nbsp;</tt><a name="(part._composition)"></a>Composing Images</h5><p>Images can be composed, and images can be found within compositions.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._add-line))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._add-line%29%29" class="RktValDef RktValLink" data-pltdoc="x">add-line</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span><span class="RktVar">x1</span><span class="hspace">&nbsp;</span><span class="RktVar">y1</span><span class="hspace">&nbsp;</span><span class="RktVar">x2</span><span class="hspace">&nbsp;</span><span class="RktVar">y2</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a></td></tr></table></blockquote></div><div class="SIntrapara">Creates an image by adding a line (colored <span class="RktVar">c</span>) from
(<span class="RktVar">x1</span>,<span class="RktVar">y1</span>) to
(<span class="RktVar">x2</span>,<span class="RktVar">y2</span>)
to image <span class="RktVar">i</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._overlay))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">img2</span><span class="hspace">&nbsp;</span><span class="RktVar">img*</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img*</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates an image by overlaying all images on their pinholes.
The pinhole of the resulting image is the same place as the pinhole in the
first image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._overlay/xy))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay/xy</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-x</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-y</span><span class="hspace">&nbsp;</span><span class="RktVar">other</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">delta-x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">delta-y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">other</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates an image by adding the pixels of <span class="RktVar">other</span> to
<span class="RktVar">img</span>.</div></p><p><div class="SIntrapara">Instead of lining the two images up on their pinholes,
<span class="RktVar">other</span>&rsquo;s pinhole is lined up on the point:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=htdp&amp;rel=index.html%23%2528def._%2528%2528lib._lang%252Fposn..rkt%2529._make-posn%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-x%29%29" class="RktValLink" data-pltdoc="x">pinhole-x</a></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-y%29%29" class="RktValLink" data-pltdoc="x">pinhole-y</a></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVar">delta-y</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div></p><p>The pinhole of the resulting image is the same
place as the pinhole in the first image.</p><p><div class="SIntrapara">The same effect can be had by combining
<span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._move-pinhole%29%29" class="RktValLink" data-pltdoc="x">move-pinhole</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span>,
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._move-pinhole%29%29" class="RktValLink" data-pltdoc="x">move-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVar">other</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace">&nbsp;</span><span class="RktVar">delta-x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace">&nbsp;</span><span class="RktVar">delta-y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-inside~3f))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-inside~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-inside?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">other</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">other</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines whether the pixels of the second image appear in the first.</div></p><p>Be careful when using this function with jpeg images. If you use an
image-editing program to crop a jpeg image and then save it,
<span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-inside~3f%29%29" class="RktValLink" data-pltdoc="x">image-inside?</a></span> does not recognize the cropped image, due to
standard compression applied to JPEG images.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._find-image))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._find-image%29%29" class="RktValDef RktValLink" data-pltdoc="x">find-image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">other</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=htdp&amp;rel=index.html%23%2528def._%2528%2528lib._lang%252Fposn..rkt%2529._posn%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">posn?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">other</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines where the pixels of the second image appear in the first, with
respect to the pinhole of the first image. If <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-inside~3f%29%29" class="RktValLink" data-pltdoc="x">image-inside?</a></span><span class="stt"> </span><span class="RktVar">img</span><span class="stt"> </span><span class="RktVar">other</span><span class="RktPn">)</span> isn&rsquo;t true, <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._find-image%29%29" class="RktValLink" data-pltdoc="x">find-image</a></span> signals an error.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;manipulation&quot;">1.1.6<tt>&nbsp;</tt><a name="(part._manipulation)"></a>Manipulating Images</h5><p>Images can also be shrunk. These &ldquo;shrink&rdquo; functions trim an image by
eliminating extraneous pixels.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._shrink-tl))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-tl%29%29" class="RktValDef RktValLink" data-pltdoc="x">shrink-tl</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Shrinks the image to a <span class="RktVar">width</span> by <span class="RktVar">height</span> image, starting
from the <span style="font-style: italic">top-left</span> corner. The pinhole of the resulting image is in
the center of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._shrink-tr))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-tr%29%29" class="RktValDef RktValLink" data-pltdoc="x">shrink-tr</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Shrinks the image to a <span class="RktVar">width</span> by <span class="RktVar">height</span> image, starting
from the <span style="font-style: italic">top-right</span> corner. The pinhole of the resulting image is in
the center of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._shrink-bl))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-bl%29%29" class="RktValDef RktValLink" data-pltdoc="x">shrink-bl</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Shrinks the image to a <span class="RktVar">width</span> by <span class="RktVar">height</span> image, starting
from the <span style="font-style: italic">bottom-left</span> corner. The pinhole of the resulting image is in
the center of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._shrink-br))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink-br%29%29" class="RktValDef RktValLink" data-pltdoc="x">shrink-br</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Shrinks the image to a <span class="RktVar">width</span> by <span class="RktVar">height</span> image, starting
from the <span style="font-style: italic">bottom-right</span> corner. The pinhole of the resulting image is in
the center of the image.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._shrink))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._shrink%29%29" class="RktValDef RktValLink" data-pltdoc="x">shrink</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">left</span><span class="hspace">&nbsp;</span><span class="RktVar">above</span><span class="hspace">&nbsp;</span><span class="RktVar">right</span><span class="hspace">&nbsp;</span><span class="RktVar">below</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">above</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">below</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Shrinks an image around its pinhole. The numbers are the pixels to save to
left, above, to the right, and below the pinhole, respectively. The pixel
directly on the pinhole is always saved.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;scenes&quot;">1.1.7<tt>&nbsp;</tt><a name="(part._scenes)"></a>Scenes</h5><p>A <a name="(tech._scene)"></a><span style="font-style: italic">scene</span> is an image, but with the pinhole in the upper-left corner, i.e.
an image where <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-x%29%29" class="RktValLink" data-pltdoc="x">pinhole-x</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._pinhole-y%29%29" class="RktValLink" data-pltdoc="x">pinhole-y</a></span> both return
<span class="RktVal">0</span>.</p><p>Scenes are particularly useful with the
<a href="2htdpuniverse.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">2htdp/universe</span></a> and <a href="world.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">htdp/world</span></a>
teachpacks, since it displays only <a href="#%28tech._scene%29" class="techoutside" data-pltdoc="x"><span class="techinside">scene</span></a>s in its canvas.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._scene~3f))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">scene?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Is <span class="RktVar">x</span> an scene?</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._empty-scene))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._empty-scene%29%29" class="RktValDef RktValLink" data-pltdoc="x">empty-scene</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValLink" data-pltdoc="x">scene?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">creates a plain white, <span class="RktVar">width</span> x <span class="RktVar">height</span> <a href="#%28tech._scene%29" class="techoutside" data-pltdoc="x"><span class="techinside">scene</span></a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._place-image))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._place-image%29%29" class="RktValDef RktValLink" data-pltdoc="x">place-image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValLink" data-pltdoc="x">scene?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValLink" data-pltdoc="x">scene?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">creates a scene by placing <span class="RktVar">img</span> at
<span style="font-style: italic"></span>(<span style="font-style: italic"></span><span class="RktVar">x</span><span style="font-style: italic">, </span><span class="RktVar">y</span><span style="font-style: italic"></span>)<span style="font-style: italic"></span> into <span class="RktVar">s</span>;
<span style="font-style: italic"></span>(<span style="font-style: italic"></span><span class="RktVar">x</span><span style="font-style: italic">, </span><span class="RktVar">y</span><span style="font-style: italic"></span>)<span style="font-style: italic"></span> are computer graphics coordinates,
i.e., they count right and down from the upper-left corner.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._nw~3arectangle))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._nw~3arectangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">nw:rectangle</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">height</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">solid-or-outline</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">c</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">solid-or-outline</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym">Mode</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym">Color</span></td></tr></table></blockquote></div><div class="SIntrapara">creates a <span class="RktVar">width</span> by <span class="RktVar">height</span> rectangle, solid or outlined as specified by
<span class="RktVar">solid-or-outline</span> and colored according to <span class="RktVar">c</span>, with a pinhole at the upper left
corner.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._scene+line))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValDef RktValLink" data-pltdoc="x">scene+line</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">x0</span><span class="hspace">&nbsp;</span><span class="RktVar">y0</span><span class="hspace">&nbsp;</span><span class="RktVar">x1</span><span class="hspace">&nbsp;</span><span class="RktVar">y1</span><span class="hspace">&nbsp;</span><span class="RktVar">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValLink" data-pltdoc="x">scene?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene~3f%29%29" class="RktValLink" data-pltdoc="x">scene?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x0</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y0</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym">Color</span></td></tr></table></blockquote></div><div class="SIntrapara">creates a scene by placing a line of color <span class="RktVar">c</span> from
<span style="font-style: italic"></span>(<span style="font-style: italic"></span><span class="RktVar">x0</span><span style="font-style: italic">, </span><span class="RktVar">y0</span><span style="font-style: italic"></span>)<span style="font-style: italic"></span> to <span style="font-style: italic"></span>(<span style="font-style: italic"></span><span class="RktVar">x1</span><span style="font-style: italic">,</span><span style="font-style: italic">
</span><span class="RktVar">y1</span><span style="font-style: italic"></span>)<span style="font-style: italic"></span> using computer graphics coordinates.  In contrast to
the <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span> function, <span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValLink" data-pltdoc="x">scene+line</a></span> cuts off those
portions of the line that go beyond the boundaries of the given
<span class="RktVar">s</span>.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-source-pkg="htdp-doc" x-part-tag="&quot;pixel-lists&quot;">1.1.8<tt>&nbsp;</tt><a name="(part._pixel-lists)"></a>Miscellaneous Image Manipulation and Creation</h5><p>The last group of functions extracts the constituent colors from an image
and converts a list of colors into an image.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._htdp/image..rkt)._.List-of-color))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><span class="RktSymDef RktSym">List-of-color</span></span></span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">list?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">is one of:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktCmt">;</span><span class="RktCmt">&nbsp;</span><span class="RktCmt">&ndash;</span><span class="RktCmt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528lib._racket%252Flist..rkt%2529._empty%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">empty</a></span></td></tr><tr><td><span class="RktCmt">;</span><span class="RktCmt">&nbsp;</span><span class="RktCmt">&ndash;</span><span class="RktCmt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._cons%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">cons</a></span><span class="stt"> </span><a href="#%28tech._color%29" class="techoutside" data-pltdoc="x"><span class="techinside">Color</span></a><span class="stt"> </span><span class="RktSym">List-of-color</span><span class="RktPn">)</span></td></tr><tr><td><span class="RktCmt">;</span><span class="RktCmt">&nbsp;</span><span class="RktCmt">Interpretation: represents a list of colors.</span></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-~3ecolor-list))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-~3ecolor-list%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-&gt;color-list</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym">List-of-color</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts an image to a list of colors.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._color-list-~3eimage))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._color-list-~3eimage%29%29" class="RktValDef RktValLink" data-pltdoc="x">color-list-&gt;image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">l</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">l</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym">List-of-color</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts a list of colors <span class="RktVar">l</span> to an image with the given
<span class="RktVar">width</span> and <span class="RktVar">height</span> and pinhole (<span class="RktVar">x</span>,<span class="RktVar">y</span>)
coordinates, specified with respect to the top-left of the image.</div></p><p>The remaining functions provide alpha-channel information as well. Alpha
channels are a measure of transparency; 0 indicates fully opaque and 255
indicates fully transparent.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>struct</p></div></div><table cellspacing="0" cellpadding="0" class="RForeground"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=define-struct.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._struct%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">struct</a></span></td><td><span class="hspace">&nbsp;</span></td><td><a name="(def._((lib._htdp/image..rkt)._alpha-color-blue))"></a><a name="(def._((lib._htdp/image..rkt)._alpha-color-green))"></a><a name="(def._((lib._htdp/image..rkt)._alpha-color-red))"></a><a name="(def._((lib._htdp/image..rkt)._alpha-color-alpha))"></a><a name="(def._((lib._htdp/image..rkt)._make-alpha-color))"></a><a name="(def._((lib._htdp/image..rkt)._alpha-color~3f))"></a><a name="(def._((lib._htdp/image..rkt)._struct~3aalpha-color))"></a><a name="(def._((lib._htdp/image..rkt)._alpha-color))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><span class="RktSymDef RktSym">alpha-color</span></span></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">alpha</span><span class="stt"> </span><span class="RktSym">red</span><span class="stt"> </span><span class="RktSym">green</span><span class="stt"> </span><span class="RktSym">blue</span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:extra-constructor-name</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._make-alpha-color%29%29" class="RktValLink" data-pltdoc="x">make-alpha-color</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">alpha</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">red</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">green</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">blue</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._and%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._natural-number%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">natural-number/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._%7E3c%7E3d%252Fc%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">A structure representing an alpha color.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._image-~3ealpha-color-list))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image-~3ealpha-color-list%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-&gt;alpha-color-list</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">img</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">list-of</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._alpha-color~3f%29%29" class="RktValLink" data-pltdoc="x">alpha-color?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">img</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">to convert an image to a list of alpha colors</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._htdp/image..rkt)._alpha-color-list-~3eimage))"></a><span title="Provided from: htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._alpha-color-list-~3eimage%29%29" class="RktValDef RktValLink" data-pltdoc="x">alpha-color-list-&gt;image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">l</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">l</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">list-of</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._htdp%2Fimage..rkt%29._alpha-color~3f%29%29" class="RktValLink" data-pltdoc="x">alpha-color?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&amp;rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&amp;version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts a list of <span class="RktSym">alpha-color</span>s <span class="RktVar">l</span> to an image with the given
<span class="RktVar">width</span> and <span class="RktVar">height</span> and pinhole (<span class="RktVar">x</span>,<span class="RktVar">y</span>)
coordinates, specified with respect to the top-left of the image.</div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="htdp.html" title="backward to &quot;1 HtDP Teachpacks&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="htdp.html" title="up to &quot;1 HtDP Teachpacks&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="world.html" title="forward to &quot;1.2 Simulations and Animations: &quot;world.rkt&quot;&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>