This file is indexed.

/usr/share/doc/racket/teachpack/2htdpimage.html is in racket-doc 6.1-4.

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
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
<!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>2.3&nbsp;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="tocviewlink" 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="tocviewselflink" 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>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 class="tocviewsublist" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">2.1&nbsp;</td><td><a href="2htdpbatch-io.html" class="tocviewlink" data-pltdoc="x">Batch Input/<span class="mywbr"> &nbsp;</span>Output:<span class="mywbr"> &nbsp;</span> <span class="stt">"batch-<wbr></wbr>io.rkt"</span><a name="(idx._(gentag._20._(lib._teachpack/teachpack..scrbl)._2htdp))"></a></a></td></tr><tr><td align="right">2.2&nbsp;</td><td><a href="2htdpimage-guide.html" class="tocviewlink" data-pltdoc="x">Image Guide</a></td></tr><tr><td align="right">2.3&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Images:<span class="mywbr"> &nbsp;</span> <span class="stt">"image.rkt"</span><a name="(idx._(gentag._21._(lib._teachpack/teachpack..scrbl)._2htdp))"></a></a></td></tr><tr><td align="right">2.4&nbsp;</td><td><a href="2htdpuniverse.html" class="tocviewlink" data-pltdoc="x">Worlds and the Universe:<span class="mywbr"> &nbsp;</span> <span class="stt">"universe.rkt"</span><a name="(idx._(gentag._22._(lib._teachpack/teachpack..scrbl)._2htdp))"></a></a></td></tr><tr><td align="right">2.5&nbsp;</td><td><a href="2htdpPlanet_Cute_Images.html" class="tocviewlink" data-pltdoc="x">Planet Cute Images</a></td></tr><tr><td align="right">2.6&nbsp;</td><td><a href="2htdphtdp-port.html" class="tocviewlink" data-pltdoc="x">Porting World Programs to Universe</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>2.3&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Images:<span class="mywbr"> &nbsp;</span> <span class="stt">"image.rkt"</span><a name="(idx._(gentag._21._(lib._teachpack/teachpack..scrbl)._2htdp))"></a></a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_2"><table cellspacing="0" cellpadding="0"><tr><td align="right">2.3.1&nbsp;</td><td><a href="#%28part._.Basic_.Images%29" class="tocviewlink" data-pltdoc="x">Basic Images</a></td></tr><tr><td align="right">2.3.2&nbsp;</td><td><a href="#%28part._.Polygons%29" class="tocviewlink" data-pltdoc="x">Polygons</a></td></tr><tr><td align="right">2.3.3&nbsp;</td><td><a href="#%28part._.Overlaying_.Images%29" class="tocviewlink" data-pltdoc="x">Overlaying Images</a></td></tr><tr><td align="right">2.3.4&nbsp;</td><td><a href="#%28part._.Placing_.Images___.Scenes%29" class="tocviewlink" data-pltdoc="x">Placing Images &amp; Scenes</a></td></tr><tr><td align="right">2.3.5&nbsp;</td><td><a href="#%28part._.Rotating__.Scaling__.Flipping__.Cropping__and_.Framing_.Images%29" class="tocviewlink" data-pltdoc="x">Rotating, Scaling, Flipping, Cropping, and Framing Images</a></td></tr><tr><td align="right">2.3.6&nbsp;</td><td><a href="#%28part._.Bitmaps%29" class="tocviewlink" data-pltdoc="x">Bitmaps</a></td></tr><tr><td align="right">2.3.7&nbsp;</td><td><a href="#%28part._.Image_.Properties%29" class="tocviewlink" data-pltdoc="x">Image Properties</a></td></tr><tr><td align="right">2.3.8&nbsp;</td><td><a href="#%28part._.Image_.Predicates%29" class="tocviewlink" data-pltdoc="x">Image Predicates</a></td></tr><tr><td align="right">2.3.9&nbsp;</td><td><a href="#%28part._.Equality_.Testing_of_.Images%29" class="tocviewlink" data-pltdoc="x">Equality Testing of Images</a></td></tr><tr><td align="right">2.3.10&nbsp;</td><td><a href="#%28part._pinholes%29" class="tocviewlink" data-pltdoc="x">Pinholes</a></td></tr><tr><td align="right">2.3.11&nbsp;</td><td><a href="#%28part._.Exporting_.Images_to_.Disk%29" class="tocviewlink" data-pltdoc="x">Exporting Images to Disk</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">2.3.1<tt>&nbsp;</tt></span><a href="#%28part._.Basic_.Images%29" class="tocsubseclink" data-pltdoc="x">Basic Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%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._2htdp%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._2htdp%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._2htdp%2Fimage..rkt%29._add-curve%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">add-<wbr></wbr>curve</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">text/<span class="mywbr"> &nbsp;</span>font</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">empty-<wbr></wbr>image</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.2<tt>&nbsp;</tt></span><a href="#%28part._.Polygons%29" class="tocsubseclink" data-pltdoc="x">Polygons</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._right-triangle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">right-<wbr></wbr>triangle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">isosceles-<wbr></wbr>triangle</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>sss</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>ass</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>sas</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>ssa</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>aas</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>asa</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">triangle/<span class="mywbr"> &nbsp;</span>saa</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">square</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._rhombus%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">rhombus</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">star-<wbr></wbr>polygon</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._radial-star%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">radial-<wbr></wbr>star</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._polygon%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">polygon</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">add-<wbr></wbr>polygon</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scene+<span class="mywbr"> &nbsp;</span>polygon</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.3<tt>&nbsp;</tt></span><a href="#%28part._.Overlaying_.Images%29" class="tocsubseclink" data-pltdoc="x">Overlaying Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._overlay%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay/<span class="mywbr"> &nbsp;</span>offset</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%2Foffset%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay/<span class="mywbr"> &nbsp;</span>align/<span class="mywbr"> &nbsp;</span>offset</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._underlay%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay/<span class="mywbr"> &nbsp;</span>offset</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay/<span class="mywbr"> &nbsp;</span>align/<span class="mywbr"> &nbsp;</span>offset</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay/<span class="mywbr"> &nbsp;</span>xy</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">beside</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">beside/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">above</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">above/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.4<tt>&nbsp;</tt></span><a href="#%28part._.Placing_.Images___.Scenes%29" class="tocsubseclink" data-pltdoc="x">Placing Images &amp; Scenes</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%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._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">place-<wbr></wbr>image/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">place-<wbr></wbr>images</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">place-<wbr></wbr>images/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scene+<span class="mywbr"> &nbsp;</span>curve</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.5<tt>&nbsp;</tt></span><a href="#%28part._.Rotating__.Scaling__.Flipping__.Cropping__and_.Framing_.Images%29" class="tocsubseclink" data-pltdoc="x">Rotating, Scaling, Flipping, Cropping, and Framing Images</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">rotate</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scale</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%2Fxy%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">scale/<span class="mywbr"> &nbsp;</span>xy</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-horizontal%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flip-<wbr></wbr>horizontal</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-vertical%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flip-<wbr></wbr>vertical</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">crop</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">crop/<span class="mywbr"> &nbsp;</span>align</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._frame%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">frame</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color-frame%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">color-<wbr></wbr>frame</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.6<tt>&nbsp;</tt></span><a href="#%28part._.Bitmaps%29" class="tocsubseclink" data-pltdoc="x">Bitmaps</a></td></tr><tr><td><a href="#%28form._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">bitmap</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%2Furl%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitmap/<span class="mywbr"> &nbsp;</span>url</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%2Ffile%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitmap/<span class="mywbr"> &nbsp;</span>file</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._color-list-~3ebitmap%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">color-<wbr></wbr>list-<wbr></wbr>&gt;bitmap</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._freeze%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">freeze</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.7<tt>&nbsp;</tt></span><a href="#%28part._.Image_.Properties%29" class="tocsubseclink" data-pltdoc="x">Image Properties</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%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._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">image-<wbr></wbr>baseline</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.8<tt>&nbsp;</tt></span><a href="#%28part._.Image_.Predicates%29" class="tocsubseclink" data-pltdoc="x">Image Predicates</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">mode?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">color</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">y-<wbr></wbr>place?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">x-<wbr></wbr>place?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">angle?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">side-<wbr></wbr>count?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._step-count~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">step-<wbr></wbr>count?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._real-valued-posn~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">real-<wbr></wbr>valued-<wbr></wbr>posn?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pen</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-style~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pen-<wbr></wbr>style?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-cap~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pen-<wbr></wbr>cap?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-join~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pen-<wbr></wbr>join?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.9<tt>&nbsp;</tt></span><a href="#%28part._.Equality_.Testing_of_.Images%29" class="tocsubseclink" data-pltdoc="x">Equality Testing of Images</a></td></tr><tr><td><span class="tocsublinknumber">2.3.10<tt>&nbsp;</tt></span><a href="#%28part._pinholes%29" class="tocsubseclink" data-pltdoc="x">Pinholes</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">center-<wbr></wbr>pinhole</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%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._2htdp%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._2htdp%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._2htdp%2Fimage..rkt%29._clear-pinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">clear-<wbr></wbr>pinhole</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fpinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">overlay/<span class="mywbr"> &nbsp;</span>pinhole</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fpinhole%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">underlay/<span class="mywbr"> &nbsp;</span>pinhole</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.11<tt>&nbsp;</tt></span><a href="#%28part._.Exporting_.Images_to_.Disk%29" class="tocsubseclink" data-pltdoc="x">Exporting Images to Disk</a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-image%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">save-<wbr></wbr>image</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-svg-image%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">save-<wbr></wbr>svg-<wbr></wbr>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.1&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.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="2htdpimage-guide.html" title="backward to &quot;2.2 Image Guide&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="2htdp2htdp.html" title="up to &quot;2 HtDP/2e Teachpacks&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="2htdpuniverse.html" title="forward to &quot;2.4 Worlds and the Universe: &quot;universe.rkt&quot;&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h4 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;image&quot;">2.3<tt>&nbsp;</tt><a name="(part._image)"></a><a name="(mod-path._2htdp/image)"></a>Images: <span class="stt">"image.rkt"</span><a name="(idx._(gentag._21._(lib._teachpack/teachpack..scrbl)._2htdp))"></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="http://download.racket-lang.org/docs/6.1/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.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">2htdp/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><p>The image teachpack provides a number of basic image construction
functions, along with combinators for building more complex images out of
existing images. Basic images include various polygons, ellipses and
circles, and text, as well as bitmaps.<span class="refelem"><span class="refcolumn"><span class="refcontent">In the context of this
documentation, a <span style="font-style: italic">bitmap</span> denotes a special form of
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span>, namely a collection of pixels associated with an image. It
does not refer to the <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=draw&amp;rel=bitmap_.html&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">bitmap%</a></span> class. Typically such image-bitmaps
come about via the <span class="ssansserif">Insert Image...</span> menu item in DrRacket</span></span></span>
Existing images can be rotated, scaled, flipped, and overlaid on top of each other.</p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Basic_Images&quot;">2.3.1<tt>&nbsp;</tt><a name="(part._.Basic_.Images)"></a>Basic 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._2htdp/image..rkt)._circle))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValDef RktValLink" data-pltdoc="x">circle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">radius</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValDef RktValLink" data-pltdoc="x">circle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">radius</span><span class="hspace">&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span><span class="RktVar">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a circle with the given radius, mode, and color.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_38.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_39.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_40.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._ellipse))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValDef RktValLink" data-pltdoc="x">ellipse</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="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValDef RktValLink" data-pltdoc="x">ellipse</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="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an ellipse with the given width, height, mode, and color.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_41.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_42.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_43.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._line))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._line%29%29" class="RktValDef RktValLink" data-pltdoc="x">line</a></span></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">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">x1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image representing a line segment that connects the points
(0,0) to (x1,y1).</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_44.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-3</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_45.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._line%29%29" class="RktValLink" data-pltdoc="x">line</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_46.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._add-line))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</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">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a line to the image <span class="RktVar">image</span>, starting from the point (<span class="RktVar">x1</span>,<span class="RktVar">y1</span>)
and going to the point (<span class="RktVar">x2</span>,<span class="RktVar">y2</span>).
Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValLink" data-pltdoc="x">scene+line</a></span>, if the line passes outside of <span class="RktVar">image</span>, the image
gets larger to accommodate the line.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_47.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_48.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkolivegreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">75</span><span class="hspace">&nbsp;</span><span class="RktVal">75</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"goldenrod"</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_49.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._add-curve))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValDef RktValLink" data-pltdoc="x">add-curve</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">image</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pull1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pull2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pull1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pull2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a curve to <span class="RktVar">image</span>, starting at the point
(<span class="RktVar">x1</span>,<span class="RktVar">y1</span>), and ending at the point
(<span class="RktVar">x2</span>,<span class="RktVar">y2</span>).</div></p><p>The <span class="RktVar">angle1</span> and <span class="RktVar">angle2</span> arguments specify the
angle that the curve has as it leaves the initial point and
as it reaches the final point, respectively.</p><p>The <span class="RktVar">pull1</span> and <span class="RktVar">pull2</span> arguments control how
long the curve tries to stay with that angle. Larger numbers
mean that the curve stays with the angle longer.</p><p>Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValLink" data-pltdoc="x">scene+curve</a></span>, if the line passes outside of <span class="RktVar">image</span>, the image
  gets larger to accommodate the curve.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/3</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/3</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_50.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_51.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_52.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_53.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._text))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValDef RktValLink" data-pltdoc="x">text</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span><span class="RktVar">font-size</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">font-size</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</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="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image that draws the given string, using the font size and color.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_54.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Goodbye"</span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="hspace">&nbsp;</span><span class="RktVal">"indigo"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_55.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p><div class="SIntrapara">The text size is measured in pixels, not points, so passing <span class="RktVal">24</span>
to <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span> should result in an image whose height is <span class="RktVal">24</span>
(which might not be the case if the size were measured in points).
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">28</span></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._text/font))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValDef RktValLink" data-pltdoc="x">text/font</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">string</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">font-size</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">face</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">family</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">style</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">weight</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">underline?</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">font-size</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</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="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">face</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace">&nbsp;&nbsp;</span></td><td><span class="RktVar">family</span></td><td><span class="hspace">&nbsp;</span></td><td>:</td><td><span class="hspace">&nbsp;</span></td><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">default</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">decorative</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">roman</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">script</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">'</span><span class="RktVal">swiss</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">modern</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">symbol</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">system</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">style</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">italic</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">slant</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">weight</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">bold</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">light</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">underline?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image that draws the given string, using a complete font specification.</div></p><p>The <span class="RktVar">face</span> and the <span class="RktVar">family</span> combine to give the complete typeface. If
<span class="RktVar">face</span> is available on the system, it is used, but if not then a default typeface
based on the <span class="RktVar">family</span> is chosen. The <span class="RktVar">style</span> controls if the face is italic
or not (on Windows and Mac OS X, <span class="RktVal">'</span><span class="RktVal">slant</span> and <span class="RktVal">'</span><span class="RktVal">italic</span> are the same),
the <span class="RktVar">weight</span> controls if it is boldface (or light), and <span class="RktVar">underline?</span>
determines if the face is underlined. For more details on these arguments, see <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=draw&amp;rel=font_.html&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">font%</a></span>,
which ultimately is what this code uses to draw the font.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"Gill Sans"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">swiss</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">bold</span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_56.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Goodbye"</span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktVal">"indigo"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">#f</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">modern</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">italic</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_57.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"not really a link"</span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">#f</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">roman</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">normal</span><span class="hspace">&nbsp;</span><span class="RktVal">#t</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_58.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._empty-image))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValDef RktValLink" data-pltdoc="x">empty-image</a></span></span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">The empty image. Its width and height are both zero and it does not draw at all.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._equal%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">equal?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></td></tr></table></p><p>In most cases, combining an image with <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span> produces the
original image (as shown in the above example). In some situations,
however, the combination can cause the resulting pict to have a different
baseline (see <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span>) and thus not
be equal.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">28</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">22</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._equal%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">equal?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-image%29%29" class="RktValLink" data-pltdoc="x">empty-image</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"olive"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Polygons&quot;">2.3.2<tt>&nbsp;</tt><a name="(part._.Polygons)"></a>Polygons</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._2htdp/image..rkt)._triangle))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a upward-pointing equilateral triangle.
The <span class="RktVar">side-length</span> argument
determines the
length of the side of the triangle.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tan"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_59.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._right-triangle))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._right-triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">right-triangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._right-triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">right-triangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a triangle with a right angle where the two sides adjacent
to the right angle have lengths <span class="RktVar">side-length1</span> and <span class="RktVar">side-length2</span>.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._right-triangle%29%29" class="RktValLink" data-pltdoc="x">right-triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_60.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._isosceles-triangle))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">isosceles-triangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">isosceles-triangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle with two equal-length sides, of length <span class="RktVar">side-length</span>
where the angle between those sides is <span class="RktVar">angle</span>. The third
leg is straight, horizontally. If the angle is less than
<span class="RktVal">180</span>, then the triangle will point up and if the <span class="RktVar">angle</span>
is more, then the triangle will point down.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="RktValLink" data-pltdoc="x">isosceles-triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">170</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_61.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="RktValLink" data-pltdoc="x">isosceles-triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_62.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29" class="RktValLink" data-pltdoc="x">isosceles-triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">330</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_63.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p><div class="SIntrapara">To create a triangle given known sides and angles, the following
family of functions are useful:
</div><div class="SIntrapara"><ul><li><p><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValLink" data-pltdoc="x">triangle/sss</a></span>, if all three sides are known</p></li><li><p><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValLink" data-pltdoc="x">triangle/ass</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValLink" data-pltdoc="x">triangle/sas</a></span>, or
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValLink" data-pltdoc="x">triangle/ssa</a></span>,
if two sides and their included angle are known</p></li><li><p><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValLink" data-pltdoc="x">triangle/aas</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValLink" data-pltdoc="x">triangle/asa</a></span>, or
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValLink" data-pltdoc="x">triangle/saa</a></span>,
if two angles and their shared side are known.</p></li></ul></div></p><p>They all construct a triangle oriented as follows:</p><p><img src="triangle-xxx.png" alt="" width="356" height="171"/></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/sss))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/sss</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/sss</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the side lengths a, b, and, c are given by <span class="RktVar">side-length-a</span>,
<span class="RktVar">side-length-b</span>, and, <span class="RktVar">side-length-c</span> respectively.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValLink" data-pltdoc="x">triangle/sss</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_64.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValLink" data-pltdoc="x">triangle/sss</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_65.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsss%29%29" class="RktValLink" data-pltdoc="x">triangle/sss</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_66.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/ass))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/ass</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/ass</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the angle A and side length a and b, are given by <span class="RktVar">angle-a</span>,
<span class="RktVar">side-length-b</span>, and, <span class="RktVar">side-length-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValLink" data-pltdoc="x">triangle/ass</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_67.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValLink" data-pltdoc="x">triangle/ass</a></span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_68.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fass%29%29" class="RktValLink" data-pltdoc="x">triangle/ass</a></span><span class="hspace">&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_69.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/sas))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/sas</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/sas</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the side length a, angle B, and,
side length c given by <span class="RktVar">side-length-a</span>,
<span class="RktVar">angle-b</span>, and, <span class="RktVar">side-length-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValLink" data-pltdoc="x">triangle/sas</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_70.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValLink" data-pltdoc="x">triangle/sas</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_71.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsas%29%29" class="RktValLink" data-pltdoc="x">triangle/sas</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_72.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/ssa))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/ssa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/ssa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the side length a, side length b, and,
angle c given by <span class="RktVar">side-length-a</span>,
<span class="RktVar">side-length-b</span>, and, <span class="RktVar">angle-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValLink" data-pltdoc="x">triangle/ssa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_73.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValLink" data-pltdoc="x">triangle/ssa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_74.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fssa%29%29" class="RktValLink" data-pltdoc="x">triangle/ssa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_75.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></div><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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/aas))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/aas</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/aas</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the angle A, angle B, and, side length c given by <span class="RktVar">angle-a</span>,
<span class="RktVar">angle-b</span>, and, <span class="RktVar">side-length-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValLink" data-pltdoc="x">triangle/aas</a></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_76.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValLink" data-pltdoc="x">triangle/aas</a></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_77.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Faas%29%29" class="RktValLink" data-pltdoc="x">triangle/aas</a></span><span class="hspace">&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_78.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/asa))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/asa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/asa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the angle A, side length b, and, angle C given by <span class="RktVar">angle-a</span>,
<span class="RktVar">side-length-b</span>, and, <span class="RktVar">angle-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValLink" data-pltdoc="x">triangle/asa</a></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_79.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValLink" data-pltdoc="x">triangle/asa</a></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_80.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fasa%29%29" class="RktValLink" data-pltdoc="x">triangle/asa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_81.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._triangle/saa))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/saa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValDef RktValLink" data-pltdoc="x">triangle/saa</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length-a</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-b</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle-c</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length-a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle-c</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a triangle where the side length a, angle B, and, angle C given by <span class="RktVar">side-length-a</span>,
<span class="RktVar">angle-b</span>, and, <span class="RktVar">angle-c</span> respectively.
See above for a diagram showing where which sides and which angles are which.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValLink" data-pltdoc="x">triangle/saa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_82.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValLink" data-pltdoc="x">triangle/saa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aquamarine"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_83.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%2Fsaa%29%29" class="RktValLink" data-pltdoc="x">triangle/saa</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">130</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_84.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._square))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValDef RktValLink" data-pltdoc="x">square</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-len</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-len</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValDef RktValLink" data-pltdoc="x">square</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-len</span><span class="hspace">&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span><span class="RktVar">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-len</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a square.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"slateblue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_85.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkmagenta"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_86.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._rectangle))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">rectangle</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="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValDef RktValLink" data-pltdoc="x">rectangle</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">width</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">height</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a rectangle with the given width, height, mode, and color.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_87.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_88.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._rhombus))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rhombus%29%29" class="RktValDef RktValLink" data-pltdoc="x">rhombus</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span><span class="RktVar">angle</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rhombus%29%29" class="RktValDef RktValLink" data-pltdoc="x">rhombus</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a four sided polygon with all equal sides and thus where opposite angles are equal to each
other. The top and bottom pair of angles is <span class="RktVar">angle</span>
and the left and right are <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVal">180</span><span class="stt"> </span><span class="RktVar">angle</span><span class="RktPn">)</span>.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rhombus%29%29" class="RktValLink" data-pltdoc="x">rhombus</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">45</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"magenta"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_89.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rhombus%29%29" class="RktValLink" data-pltdoc="x">rhombus</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">150</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumpurple"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_90.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._star))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValDef RktValLink" data-pltdoc="x">star</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValDef RktValLink" data-pltdoc="x">star</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a star with five points. The <span class="RktVar">side-length</span> argument
determines the side length of the enclosing pentagon.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValLink" data-pltdoc="x">star</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_91.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._star-polygon))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">star-polygon</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">step-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="RktValLink" data-pltdoc="x">side-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">step-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._step-count~3f%29%29" class="RktValLink" data-pltdoc="x">step-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">star-polygon</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">step-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="RktValLink" data-pltdoc="x">side-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">step-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._step-count~3f%29%29" class="RktValLink" data-pltdoc="x">step-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an arbitrary regular star polygon (a generalization of the regular polygons).
The polygon is enclosed by a regular polygon with <span class="RktVar">side-count</span> sides each
<span class="RktVar">side-length</span> long. The polygon is actually constructed by going from vertex to
vertex around the regular polgon, but connecting every <span class="RktVar">step-count</span>-th vertex
(i.e., skipping every <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">step-count</span><span class="stt"> </span><span class="RktVal">1</span><span class="RktPn">)</span> verticies).</div></p><p>For example, if <span class="RktVar">side-count</span> is <span class="RktVal">5</span> and <span class="RktVar">step-count</span> is <span class="RktVal">2</span>,
then this function produces a shape just like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValLink" data-pltdoc="x">star</a></span>.</p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_92.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">7</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkred"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_93.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_94.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._radial-star))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._radial-star%29%29" class="RktValDef RktValLink" data-pltdoc="x">radial-star</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">point-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">inner-radius</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outer-radius</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">point-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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">inner-radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outer-radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._radial-star%29%29" class="RktValDef RktValLink" data-pltdoc="x">radial-star</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">point-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">inner-radius</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outer-radius</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">point-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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">inner-radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outer-radius</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a star-like polygon where the star is specified by two radii and a number of points.
The first radius determines where the points begin, the second determines where they end, and
the <span class="RktVar">point-count</span> argument determines how many points the star has.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._radial-star%29%29" class="RktValLink" data-pltdoc="x">radial-star</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkslategray"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_95.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._radial-star%29%29" class="RktValLink" data-pltdoc="x">radial-star</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_96.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._regular-polygon))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">regular-polygon</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="RktValLink" data-pltdoc="x">side-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">regular-polygon</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-length</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">side-count</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">outline-mode</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pen-or-color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-length</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">side-count</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="RktValLink" data-pltdoc="x">side-count?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a regular polygon with <span class="RktVar">side-count</span> sides.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_97.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_98.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_99.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._polygon))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">polygon</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vertices</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">vertices</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._real-valued-posn~3f%29%29" class="RktValLink" data-pltdoc="x">real-valued-posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">polygon</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vertices</span><span class="hspace">&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span><span class="RktVar">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">vertices</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._real-valued-posn~3f%29%29" class="RktValLink" data-pltdoc="x">real-valued-posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">outline-mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">outline</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a polygon connecting the given vertices.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValLink" data-pltdoc="x">polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"burlywood"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_100.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValLink" data-pltdoc="x">polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"plum"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_101.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValLink" data-pltdoc="x">polygon</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"outline"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"darkslategray"</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_102.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._polygon%29%29" class="RktValLink" data-pltdoc="x">polygon</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"outline"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"darkslategray"</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"projecting"</span><span class="hspace">&nbsp;</span><span class="RktVal">"miter"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_103.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._add-polygon))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">add-polygon</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span><span class="RktVar">posns</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">posns</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a closed polygon to the image <span class="RktVar">image</span>, with vertices as specified in <span class="RktVar">posns</span>
 (relative to the top-left corner of <span class="RktVar">image</span>).  Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValLink" data-pltdoc="x">scene+polygon</a></span>,
 if the polygon goes outside the bounds of <span class="RktVar">image</span>, the result is enlarged to accommodate both.</div></p><p>Note that when the <span class="RktSym">mode</span> is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, the shape
may draw outside of its bounding box and thus parts of the image may disappear
when it is cropped. See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful explanation of the ramifications of this fact.</p><p>If the <span class="RktVar">mode</span> argument is <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span>, then the last
argument can be a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct or an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>, but if the <span class="RktVar">mode</span>
is <span class="RktVal">'</span><span class="RktVal">solid</span> or <span class="RktVal">"solid"</span>, then the last argument must be an
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValLink" data-pltdoc="x">add-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">55</span><span class="hspace">&nbsp;</span><span class="RktVal">34</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">35</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_104.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValLink" data-pltdoc="x">add-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">65</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forest green"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_105.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValLink" data-pltdoc="x">add-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellow"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">109</span><span class="hspace">&nbsp;</span><span class="RktVal">160</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">26</span><span class="hspace">&nbsp;</span><span class="RktVal">148</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">46</span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">93</span><span class="hspace">&nbsp;</span><span class="RktVal">44</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">89</span><span class="hspace">&nbsp;</span><span class="RktVal">68</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">122</span><span class="hspace">&nbsp;</span><span class="RktVal">72</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dark blue"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_106.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValLink" data-pltdoc="x">add-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"pink"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_107.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._scene+polygon))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValDef RktValLink" data-pltdoc="x">scene+polygon</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span><span class="RktVar">posns</span><span class="hspace">&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">posns</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mode</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValLink" data-pltdoc="x">mode?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a closed polygon to the image <span class="RktVar">image</span>, with vertices as specified in <span class="RktVar">posns</span>
 (relative to the top-left corner of <span class="RktVar">image</span>).  Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-polygon%29%29" class="RktValLink" data-pltdoc="x">add-polygon</a></span>, if the
 polygon goes outside the bounds of <span class="RktVar">image</span>, the result is clipped to <span class="RktVar">image</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValLink" data-pltdoc="x">scene+polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">55</span><span class="hspace">&nbsp;</span><span class="RktVal">34</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">35</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_108.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValLink" data-pltdoc="x">scene+polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">65</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forest green"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_109.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValLink" data-pltdoc="x">scene+polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellow"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">109</span><span class="hspace">&nbsp;</span><span class="RktVal">160</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">26</span><span class="hspace">&nbsp;</span><span class="RktVal">148</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">46</span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">93</span><span class="hspace">&nbsp;</span><span class="RktVal">44</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">89</span><span class="hspace">&nbsp;</span><span class="RktVal">68</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">122</span><span class="hspace">&nbsp;</span><span class="RktVal">72</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dark blue"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_110.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bpolygon%29%29" class="RktValLink" data-pltdoc="x">scene+polygon</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"light blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"pink"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_111.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Overlaying_Images&quot;">2.3.3<tt>&nbsp;</tt><a name="(part._.Overlaying_.Images)"></a>Overlaying 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._2htdp/image..rkt)._overlay))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Overlays all of its arguments building a single image. The first argument goes
on top of the second argument, which goes on top of the third argument, etc.
The images are all lined up on their centers.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_112.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_113.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">50</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="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">26</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</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="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">150</span><span class="hspace">&nbsp;</span><span class="RktVal">150</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="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">38</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">200</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="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._regular-polygon%29%29" class="RktValLink" data-pltdoc="x">regular-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">44</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">250</span><span class="hspace">&nbsp;</span><span class="RktVal">250</span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_114.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._overlay/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay/align</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x-place</span><span class="hspace">&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Overlays all of its image arguments, much like the <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span> function, but using
<span class="RktVar">x-place</span> and <span class="RktVar">y-place</span> to determine where the images are lined up. For example, if
<span class="RktVar">x-place</span> and <span class="RktVar">y-place</span> are both <span class="RktVal">"middle"</span>, then the images are lined up
on their centers.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">overlay/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"middle"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_115.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">overlay/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"silver"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"silver"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_116.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._overlay/offset))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay/offset</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</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">i2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Just like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span>, this function lines up its image arguments on top of
each other. Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span>, it moves <span class="RktVar">i2</span> by <span class="RktVar">x</span> pixels to
the right and <span class="RktVar">y</span> down before overlaying them.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_117.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-5</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkorange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkorange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_118.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">solid</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValLink" data-pltdoc="x">color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">150</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">127</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">26</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">solid</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValLink" data-pltdoc="x">color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="hspace">&nbsp;</span><span class="RktVal">127</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">26</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">solid</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValLink" data-pltdoc="x">color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">200</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">127</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_119.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._overlay/align/offset))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%2Foffset%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay/align/offset</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">i1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">i2</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">x-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Overlays image <span class="RktVar">i1</span> on top of <span class="RktVar">i2</span>, using <span class="RktVar">x-place</span> and <span class="RktVar">y-place</span>
as the starting points for the overlaying, and then adjusts <span class="RktVar">i2</span> by <span class="RktVar">x</span> to the
right and <span class="RktVar">y</span> pixels down.</div></p><p>This function combines the capabilities of <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">overlay/align</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_120.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_121.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._overlay/xy))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i1</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">i2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by overlaying <span class="RktVar">i1</span> on top of <span class="RktVar">i2</span>.
The images are initially lined up on their upper-left corners and
then <span class="RktVar">i2</span> is shifted to the right
by <span class="RktVar">x</span> pixels to and down by <span class="RktVar">y</span> pixels.</div></p><p>This is the same as <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span><span class="stt"> </span><span class="RktVar">i2</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">i1</span><span class="RktPn">)</span>.</p><p>See also <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_122.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_123.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_124.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">15</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forestgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forestgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_125.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._underlay))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Underlays all of its arguments building a single image.</div></p><p>It behaves like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span>, but with the arguments in the reverse order.
That is, the first argument goes
underneath of the second argument, which goes underneath the third argument, etc.
The images are all lined up on their centers.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_126.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_127.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_128.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._underlay/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay/align</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x-place</span><span class="hspace">&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Underlays all of its image arguments, much like the <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span> function, but using
<span class="RktVar">x-place</span> and <span class="RktVar">y-place</span> to determine where the images are lined up. For example, if
<span class="RktVar">x-place</span> and <span class="RktVar">y-place</span> are both <span class="RktVal">"middle"</span>, then the images are lined up
on their centers.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">underlay/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"middle"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_129.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">underlay/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"silver"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"silver"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_130.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">underlay/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"middle"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"seagreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_131.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._underlay/offset))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay/offset</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</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">i2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Just like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span>, this function lines up its first image argument
underneath the second. Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span>, it moves <span class="RktVar">i2</span> by
<span class="RktVar">x</span> pixels to the right and <span class="RktVar">y</span> down before underlaying them.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_132.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-3</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_133.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._underlay/align/offset))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay/align/offset</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">i1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">i2</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">x-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Underlays image <span class="RktVar">i1</span> underneath <span class="RktVar">i2</span>, using <span class="RktVar">x-place</span> and <span class="RktVar">y-place</span>
as the starting points for the combination, and then adjusts <span class="RktVar">i2</span> by <span class="RktVar">x</span> to the
right and <span class="RktVar">y</span> pixels down.</div></p><p>This function combines the capabilities of <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%29%29" class="RktValLink" data-pltdoc="x">underlay/align</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_134.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Falign%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/align/offset</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rhombus%29%29" class="RktValLink" data-pltdoc="x">rhombus</a></span><span class="hspace">&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">16</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">11</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>6</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">11</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">16</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>6</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">11</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>6</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>6</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star-polygon%29%29" class="RktValLink" data-pltdoc="x">star-polygon</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">11</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"cornflowerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_135.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._underlay/xy))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay/xy</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</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">i2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by underlaying <span class="RktVar">i1</span> underneath <span class="RktVar">i2</span>.
The images are initially lined up on their upper-left corners and
then <span class="RktVar">i2</span> is shifted to the right
by <span class="RktVar">x</span> pixels to and down by <span class="RktVar">y</span> pixels.</div></p><p>This is the same as <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">overlay/xy</a></span><span class="stt"> </span><span class="RktVar">i2</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._-%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">i1</span><span class="RktPn">)</span>.</p><p>See also <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">underlay/offset</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Foffset%29%29" class="RktValLink" data-pltdoc="x">overlay/offset</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_136.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_137.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_138.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fxy%29%29" class="RktValLink" data-pltdoc="x">underlay/xy</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">10</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">15</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forestgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forestgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_139.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._beside))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValDef RktValLink" data-pltdoc="x">beside</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by placing all of the argument images in a
horizontal row, aligned along their centers.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkgray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dimgray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_140.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._beside/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">beside/align</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by placing all of the argument images in a horizontal row, lined
up as indicated by the <span class="RktVar">y-place</span> argument. For example, if <span class="RktVar">y-place</span>
is <span class="RktVal">"middle"</span>, then the images are placed side by side with their centers
lined up with each other.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="RktValLink" data-pltdoc="x">beside/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightsteelblue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumslateblue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"slateblue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_141.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="RktValLink" data-pltdoc="x">beside/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumorchid"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkorchid"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"indigo"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_142.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="RktValLink" data-pltdoc="x">beside/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"baseline"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"ijy"</span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"ijy"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_143.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._above))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValDef RktValLink" data-pltdoc="x">above</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by placing all of the argument images in a
vertical row, aligned along their centers.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkgray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dimgray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_144.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._above/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">above/align</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x-place</span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs an image by placing all of the argument images in a vertical row, lined
up as indicated by the <span class="RktVar">x-place</span> argument. For example, if <span class="RktVar">x-place</span>
is <span class="RktVal">"middle"</span>, then the images are placed above each other with their centers
lined up.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%2Falign%29%29" class="RktValLink" data-pltdoc="x">above/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gold"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"goldenrod"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkgoldenrod"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"sienna"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_145.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%2Falign%29%29" class="RktValLink" data-pltdoc="x">above/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"olivedrab"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkolivegreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_146.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Placing_Images___Scenes&quot;">2.3.4<tt>&nbsp;</tt><a name="(part._.Placing_.Images___.Scenes)"></a>Placing Images &amp; Scenes</h5><p>Placing images into scenes is particularly useful when building worlds
and universes using <span class="RktSym">2htdp/universe</span>.</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._2htdp/image..rkt)._empty-scene))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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._2htdp%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">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates an empty scene, i.e., a white rectangle with a black outline.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._empty-scene%29%29" class="RktValLink" data-pltdoc="x">empty-scene</a></span><span class="hspace">&nbsp;</span><span class="RktVal">160</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_147.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p>The three-argument version creates a rectangle of the specified color with
a black outline.</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._2htdp/image..rkt)._place-image))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</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">scene</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Places <span class="RktVar">image</span> onto <span class="RktVar">scene</span> with its center at the coordinates
(<span class="RktVar">x</span>,<span class="RktVar">y</span>) and crops the resulting image so that it has the
same size as <span class="RktVar">scene</span>. The coordinates are relative to the top-left
of <span class="RktVar">scene</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_148.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_149.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">6</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktVal">14</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">14</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"goldenrod"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_150.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></div><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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._place-image/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">place-image/align</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">image</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">scene</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span>, but uses <span class="RktVar">image</span>&rsquo;s <span class="RktVar">x-place</span> and
<span class="RktVar">y-place</span> to anchor the image. Also, like
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span>
crops the resulting image so that it has the
same size as <span class="RktVar">scene</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumgoldenrod"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_151.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tomato"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tomato"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tomato"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">16</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tomato"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-image/align</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"tomato"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_152.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._place-images))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%29%29" class="RktValDef RktValLink" data-pltdoc="x">place-images</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">images</span><span class="hspace">&nbsp;</span><span class="RktVar">posns</span><span class="hspace">&nbsp;</span><span class="RktVar">scene</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">images</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">posns</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Places each of <span class="RktVar">images</span> into <span class="RktVar">scene</span> like
               <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span> would, using the coordinates
               in <span class="RktVar">posns</span> as the <span class="RktVar">x</span>
               and <span class="RktVar">y</span> arguments to <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%29%29" class="RktValLink" data-pltdoc="x">place-images</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">6</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">14</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="hspace">&nbsp;</span><span class="RktVal">14</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"goldenrod"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_153.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._place-images/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">place-images/align</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">images</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">posns</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">scene</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">images</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">posns</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">posn?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%29%29" class="RktValLink" data-pltdoc="x">place-images</a></span>, except that it places the images
     with respect to <span class="RktVar">x-place</span> and <span class="RktVar">y-place</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%2Falign%29%29" class="RktValLink" data-pltdoc="x">place-images/align</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellowgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">48</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">32</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">make-posn</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">64</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumgoldenrod"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_154.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></div><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._2htdp/image..rkt)._scene+line))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">scene</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">pen-or-color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pen-or-color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a line to the image <span class="RktVar">scene</span>, starting from the point (<span class="RktVar">x1</span>,<span class="RktVar">y1</span>)
and going to the point (<span class="RktVar">x2</span>,<span class="RktVar">y2</span>); unlike
<span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-line%29%29" class="RktValLink" data-pltdoc="x">add-line</a></span>, this function crops the resulting image to the size of <span class="RktVar">scene</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValLink" data-pltdoc="x">scene+line</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_155.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValLink" data-pltdoc="x">scene+line</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">"maroon"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_156.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bline%29%29" class="RktValLink" data-pltdoc="x">scene+line</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkolivegreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"goldenrod"</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="hspace">&nbsp;</span><span class="RktVal">"round"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_157.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._scene+curve))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValDef RktValLink" data-pltdoc="x">scene+curve</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">scene</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pull1</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">angle2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">pull2</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">color</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">scene</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pull1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">angle2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pull2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Adds a curve to <span class="RktVar">scene</span>, starting at the point
(<span class="RktVar">x1</span>,<span class="RktVar">y1</span>), and ending at the point
(<span class="RktVar">x2</span>,<span class="RktVar">y2</span>).</div></p><p>The <span class="RktVar">angle1</span> and <span class="RktVar">angle2</span> arguments specify the
angle that the curve has as it leaves the initial point and
as it reaches the final point, respectively.</p><p>The <span class="RktVar">pull1</span> and <span class="RktVar">pull2</span> arguments control how
long the curve tries to stay with that angle. Larger numbers
mean that the curve stays with the angle longer.</p><p>Unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span>, this function crops the curve, only showing
the parts that fit onto <span class="RktVar">scene</span>.</p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValLink" data-pltdoc="x">scene+curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/3</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/3</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_158.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValLink" data-pltdoc="x">scene+curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_159.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValLink" data-pltdoc="x">scene+curve</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._add-curve%29%29" class="RktValLink" data-pltdoc="x">add-curve</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">180</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">90</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">"white"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_160.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scene%2Bcurve%29%29" class="RktValLink" data-pltdoc="x">scene+curve</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-2</span>0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_161.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Rotating__Scaling__Flipping__Cropping__and_Framing_Images&quot;">2.3.5<tt>&nbsp;</tt><a name="(part._.Rotating__.Scaling__.Flipping__.Cropping__and_.Framing_.Images)"></a>Rotating, Scaling, Flipping, Cropping, and Framing 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._2htdp/image..rkt)._rotate))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValDef RktValLink" data-pltdoc="x">rotate</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">angle</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">angle</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValLink" data-pltdoc="x">angle?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Rotates <span class="RktVar">image</span> by <span class="RktVar">angle</span> degrees in a counter-clockwise direction.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">45</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"olivedrab"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_162.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"outline"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_163.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">45</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%2Falign%29%29" class="RktValLink" data-pltdoc="x">beside/align</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">"center"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkseagreen"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"darkseagreen"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_164.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p>See also <a href="2htdpimage-guide.html#%28part._rotate-center%29" data-pltdoc="x">Rotating and Image Centers</a>.</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._2htdp/image..rkt)._scale))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%29%29" class="RktValDef RktValLink" data-pltdoc="x">scale</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">factor</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">factor</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._positive%7E3f%2529%2529&amp;version=6.1" 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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Scales <span class="RktVar">image</span> by <span class="RktVar">factor</span>.</div></p><p>The pen sizes are also scaled and thus draw thicker (or thinner)
lines than the original image, unless the pen was size
<span class="RktVal">0</span>. That pen size is treated specially to mean &ldquo;the
smallest available line&rdquo; and thus it always draws a one pixel
wide line; this is also the case for <span class="RktVal">'</span><span class="RktVal">outline</span> and <span class="RktVal">"outline"</span>
shapes that are drawn with an <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span> instead of
a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%29%29" class="RktValLink" data-pltdoc="x">scale</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_165.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_166.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._scale/xy))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%2Fxy%29%29" class="RktValDef RktValLink" data-pltdoc="x">scale/xy</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x-factor</span><span class="hspace">&nbsp;</span><span class="RktVar">y-factor</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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-factor</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._positive%7E3f%2529%2529&amp;version=6.1" 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">y-factor</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._positive%7E3f%2529%2529&amp;version=6.1" 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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Scales <span class="RktVar">image</span> by <span class="RktVar">x-factor</span> horizontally and by
<span class="RktVar">y-factor</span> vertically.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%2Fxy%29%29" class="RktValLink" data-pltdoc="x">scale/xy</a></span><span class="hspace">&nbsp;</span><span class="RktVal">3</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">2</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_167.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_168.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._flip-horizontal))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-horizontal%29%29" class="RktValDef RktValLink" data-pltdoc="x">flip-horizontal</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Flips <span class="RktVar">image</span> left to right.</div></p><p>Flipping images with text is not supported (so passing <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-horizontal%29%29" class="RktValLink" data-pltdoc="x">flip-horizontal</a></span> an image
      that contains a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span> or <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span> image inside somewhere signals an error).</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-horizontal%29%29" class="RktValLink" data-pltdoc="x">flip-horizontal</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_169.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._flip-vertical))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-vertical%29%29" class="RktValDef RktValLink" data-pltdoc="x">flip-vertical</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Flips <span class="RktVar">image</span> top to bottom.</div></p><p>Flipping images with text is not supported (so passing <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-vertical%29%29" class="RktValLink" data-pltdoc="x">flip-vertical</a></span> an image
      that contains a <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span> or <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span> image inside somewhere signals an error).</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValLink" data-pltdoc="x">star</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"firebrick"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%2Fxy%29%29" class="RktValLink" data-pltdoc="x">scale/xy</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1/2</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._flip-vertical%29%29" class="RktValLink" data-pltdoc="x">flip-vertical</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._star%29%29" class="RktValLink" data-pltdoc="x">star</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_170.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._crop))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValDef RktValLink" data-pltdoc="x">crop</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">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Crops <span class="RktVar">image</span> to the rectangle with the upper left at the point (<span class="RktVar">x</span>,<span class="RktVar">y</span>)
and with <span class="RktVar">width</span> and <span class="RktVar">height</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"chocolate"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_171.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dodgerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_172.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"palevioletred"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightcoral"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightcoral"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"palevioletred"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_173.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._crop/align))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValDef RktValLink" data-pltdoc="x">crop/align</a></span></span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">x-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">y-place</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">width</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">height</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="RktVar">image</span><span class="RktPn">)</span></td><td><span class="hspace">&nbsp;</span></td><td>&rarr;</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">x-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValLink" data-pltdoc="x">x-place?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">y-place</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValLink" data-pltdoc="x">y-place?</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Crops <span class="RktVar">image</span> to a rectangle whose size is <span class="RktVar">width</span> and <span class="RktVar">height</span>
      and is positioned based on <span class="RktVar">x-place</span> and <span class="RktVar">y-place</span>.</div></p><p>Some shapes (notably those with <span class="RktVal">'</span><span class="RktVal">outline</span> or <span class="RktVal">"outline"</span> as
the <span class="RktVar">mode</span> argument) draw outside of their bounding boxes and thus
cropping them may remove part of them (often the lower-left and lower-right
edges). See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> (in the <a href="2htdpimage-guide.html" data-pltdoc="x">Image Guide</a>)
for a more careful discussion of this issue.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"chocolate"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_174.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">80</span><span class="hspace">&nbsp;</span><span class="RktVal">120</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"dodgerblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_175.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">"center"</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumslateblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_176.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"palevioletred"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bottom"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightcoral"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"right"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightcoral"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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._2htdp%2Fimage..rkt%29._crop%2Falign%29%29" class="RktValLink" data-pltdoc="x">crop/align</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"left"</span><span class="hspace">&nbsp;</span><span class="RktVal">"top"</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"palevioletred"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_177.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p class="SHistory">Added in version 1.1 of package <span class="stt">htdp-lib</span>.</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._2htdp/image..rkt)._frame))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._frame%29%29" class="RktValDef RktValLink" data-pltdoc="x">frame</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns an image just like <span class="RktVar">image</span>, except
with a black, single pixel frame drawn around the
bounding box of the image.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._frame%29%29" class="RktValLink" data-pltdoc="x">frame</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"gray"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_178.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><p>Generally speaking, this function is useful to
debug image constructions, i.e., to see where
certain sub-images appear within some larger image.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">70</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"lightsteelblue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._frame%29%29" class="RktValLink" data-pltdoc="x">frame</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"mediumslateblue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"slateblue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"navy"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_179.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._color-frame))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color-frame%29%29" class="RktValDef RktValLink" data-pltdoc="x">color-frame</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span><span class="RktVar">color</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen~3f%29%29" class="RktValLink" data-pltdoc="x">pen?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._frame%29%29" class="RktValLink" data-pltdoc="x">frame</a></span>, except with the given <span class="RktVar">color</span>.</div></p><p class="SHistory">Added in version 1.1 of package <span class="stt">htdp-lib</span>.</p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Bitmaps&quot;">2.3.6<tt>&nbsp;</tt><a name="(part._.Bitmaps)"></a>Bitmaps</h5><p>DrRacket&rsquo;s <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=drracket&amp;rel=Graphical_Syntax.html%23%2528part._images%2529&amp;version=6.1" class="Sq" data-pltdoc="x">Insert Image ...</a>
menu item allows you to insert images into your program text, and those images are treated
as images for this library.</p><p>Unlike all of the other images in this library, those images (and the other images created
by functions in this section of the documentation)
are represented as bitmaps, i.e., an array of colors (that can be quite large in some cases).
This means that scaling and rotating them loses fidelity in the image and is significantly
more expensive than with the other shapes.</p><p>See also the <a href="2htdpPlanet_Cute_Images.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">2htdp/planetcute</span></a> library.</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>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._2htdp/image..rkt)._bitmap))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28form._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">bitmap</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">bitmap-spec</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt">&nbsp;</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="specgrammar"><tr><td align="right" valign="baseline"><span class="RktVar">bitmap-spec</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">rel-string</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">id</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Loads the bitmap specified by <span class="RktVar">bitmap-spec</span>. If
<span class="RktVar">bitmap-spec</span> is a string, it is treated as a relative path.
If it is an identifier, it is treated like a require spec and used to
refer to a file in a collection.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%29%29" class="RktStxLink" data-pltdoc="x">bitmap</a></span><span class="hspace">&nbsp;</span><span class="RktSym">icons/stop-16x16.png</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_180.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%29%29" class="RktStxLink" data-pltdoc="x">bitmap</a></span><span class="hspace">&nbsp;</span><span class="RktSym">icons/b-run.png</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_181.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._bitmap/url))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%2Furl%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitmap/url</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">url</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">url</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Goes out on the web and downloads the image at <span class="RktVar">url</span>.</div></p><p>Downloading the image happens each time this function is called, so
you may find it simpler to download the image once with a browser
and then paste it into your program or download it and use <span class="RktSym"><a href="#%28form._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%29%29" class="RktStxLink" data-pltdoc="x">bitmap</a></span>.</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._2htdp/image..rkt)._bitmap/file))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._bitmap%2Ffile%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitmap/file</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">ps</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">ps</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=Manipulating_Paths.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmisc..rkt%2529._path-string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">path-string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Loads the image from <span class="RktVar">ps</span>.</div></p><p>If <span class="RktVar">ps</span> is a relative path, the file is relative to
the current directory. (When running in DrRacket, the current
directory is set to the place where the definitions window is
saved, but in general this can be an arbitrary directory.)</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._2htdp/image..rkt)._image-~3ecolor-list))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color~3f%29%29" class="RktValLink" data-pltdoc="x">color?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a list of colors that correspond to the colors in the
image, reading from left to right, top to bottom.</div></p><p>The list of colors is obtained by drawing the image on a white
background and then reading off the colors of the pixels that were drawn.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-~3ecolor-list%29%29" class="RktValLink" data-pltdoc="x">image-&gt;color-list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">(list (color 0 0 0 255) (color 0 0 0 255) (color 0 0 0 255) (color 0 0 0 255))</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-~3ecolor-list%29%29" class="RktValLink" data-pltdoc="x">image-&gt;color-list</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1</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="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">(list (color 1 1 1 255) (color 2 2 2 255) (color 3 3 3 255) (color 4 4 4 255))</span></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._color-list-~3ebitmap))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color-list-~3ebitmap%29%29" class="RktValDef RktValLink" data-pltdoc="x">color-list-&gt;bitmap</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">colors</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._2htdp%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">colors</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Constructs a bitmap from the given <span class="RktVar">colors</span>,
with the given <span class="RktVar">width</span> and <span class="RktVar">height</span>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%29%29" class="RktValLink" data-pltdoc="x">scale</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color-list-~3ebitmap%29%29" class="RktValLink" data-pltdoc="x">color-list-&gt;bitmap</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="hspace">&nbsp;</span><span class="RktVal">"green"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_182.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._freeze))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._freeze%29%29" class="RktValDef RktValLink" data-pltdoc="x">freeze</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._freeze%29%29" class="RktValDef RktValLink" data-pltdoc="x">freeze</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="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._freeze%29%29" class="RktValDef RktValLink" data-pltdoc="x">freeze</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">width</span><span class="hspace">&nbsp;</span><span class="RktVar">height</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Freezing an image internally builds a bitmap, crops the image, draws the cropped image
into the bitmap and then
uses the bitmap to draw that image afterwards. Typically this is used as a performance
hint. When an image both contains many sub-images and is going to be drawn many times
(but not scaled or rotated),
using freeze on the image can substantially improve performance without changing how
the image draws (assuming it draws only inside its bounding box; see also <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a>).</div></p><p>If <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._freeze%29%29" class="RktValLink" data-pltdoc="x">freeze</a></span> is passed only the image argument, then it crops the image to its bounding
box. If it is given three arguments, the two numbers are used as the width and height and
the five argument version fully specifies where to crop the image.</p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Image_Properties&quot;">2.3.7<tt>&nbsp;</tt><a name="(part._.Image_.Properties)"></a>Image Properties</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._2htdp/image..rkt)._image-width))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._exact%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">exact?</a></span><span class="RktPn">)</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._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the width of <span class="RktVar">i</span>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">30</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">60</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">80</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._image-height))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._exact%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">exact?</a></span><span class="RktPn">)</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._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the height of <span class="RktVar">i</span>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">40</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">60</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><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="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">60</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._image-baseline))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValDef RktValLink" data-pltdoc="x">image-baseline</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._exact%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">exact?</a></span><span class="RktPn">)</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._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the distance from the top of the image to its baseline.
The baseline of an image is the place where the bottoms any letters line up,
but without counting the descenders, e.g. the tail on &ldquo;y&rdquo; or &ldquo;g&rdquo; or &ldquo;j&rdquo;.</div></p><p>Unless the image was constructed with <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%2Ffont%29%29" class="RktValLink" data-pltdoc="x">text/font</a></span>
or, in some cases, <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span>, this will be the same as its height.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">22</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._text%29%29" class="RktValLink" data-pltdoc="x">text</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Hello"</span><span class="hspace">&nbsp;</span><span class="RktVal">24</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">28</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">100</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">100</span></p></td></tr></table></blockquote></td></tr></table></p><p>A <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span>ped image&rsquo;s baseline is the same as the image&rsquo;s baseline, if the
cropping stays within the original image&rsquo;s bounding box. But if the cropping actually
enlarges the image, then the baseline can end up being smaller.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">20</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">20</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">30</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._crop%29%29" class="RktValLink" data-pltdoc="x">crop</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">20</span></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Image_Predicates&quot;">2.3.8<tt>&nbsp;</tt><a name="(part._.Image_.Predicates)"></a>Image Predicates</h5><p>This section lists predicates for the basic structures provided by the image library.</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._2htdp/image..rkt)._image~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is an image. Images are returned by functions
like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span> and
accepted by functions like <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span>.</div></p><p>Additionally, images inserted into a DrRacket window are treated as
bitmap images, as are instances of <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=gui&amp;rel=image-snip_.html&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">image-snip%</a></span> and <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=draw&amp;rel=bitmap_.html&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">bitmap%</a></span>.</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._2htdp/image..rkt)._mode~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._mode~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">mode?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a mode suitable for
constructing images.</div></p><p>It can be one of
<span class="RktVal">'</span><span class="RktVal">solid</span>, <span class="RktVal">"solid"</span>, <span class="RktVal">'</span><span class="RktVal">outline</span>,
or <span class="RktVal">"outline"</span>, indicating if the shape is
filled in or not.</p><p>It can also be an integer between <span class="RktVal">0</span> and <span class="RktVal">255</span> (inclusive)
indicating the transparency of the image. The integer <span class="RktVal">255</span> is
fully opaque, and is the same as <span class="RktVal">"solid"</span> (or <span class="RktVal">'</span><span class="RktVal">solid</span>).
The integer <span class="RktVal">0</span> means 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>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._2htdp/image..rkt)._image-color~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> represents a color. Strings, symbols,
and <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValLink" data-pltdoc="x">color</a></span> structs are allowed as colors.</div></p><p>For example,
<span class="RktVal">"magenta"</span>, <span class="RktVal">"black"</span>, <span class="RktVal">'</span><span class="RktVal">orange</span>, and <span class="RktVal">'</span><span class="RktVal">purple</span>
are allowed. Colors are not case-sensitive, so
<span class="RktVal">"Magenta"</span>, <span class="RktVal">"Black"</span>, <span class="RktVal">'</span><span class="RktVal">Orange</span>, and <span class="RktVal">'</span><span class="RktVal">Purple</span>
are also allowed, and are the same colors as in the previous sentence.
If a string or symbol color name is not recognized, black is used in its place.</p><p>The complete list of colors is the same as the colors allowed in
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=draw&amp;rel=color-database___.html&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">color-database&lt;%&gt;</a></span>, plus the color <span class="RktVal">"transparent"</span>, a transparent
color.</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="http://download.racket-lang.org/docs/6.1/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.1" class="RktStxLink Sq" data-pltdoc="x">struct</a></span></td><td><span class="hspace">&nbsp;</span></td><td><a name="(def._((lib._2htdp/image..rkt)._color-alpha))"></a><a name="(def._((lib._2htdp/image..rkt)._color-blue))"></a><a name="(def._((lib._2htdp/image..rkt)._color-green))"></a><a name="(def._((lib._2htdp/image..rkt)._color-red))"></a><a name="(def._((lib._2htdp/image..rkt)._make-color))"></a><a name="(def._((lib._2htdp/image..rkt)._color~3f))"></a><a name="(def._((lib._2htdp/image..rkt)._struct~3acolor))"></a><a name="(def._((lib._2htdp/image..rkt)._color))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValDef RktValLink" data-pltdoc="x">color</a></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="stt"> </span><span class="RktSym">alpha</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._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym">natural-number/c</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym">natural-number/c</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym">natural-number/c</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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">alpha</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym">natural-number/c</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" 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">The <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._color%29%29" class="RktValLink" data-pltdoc="x">color</a></span> struct defines a color with <span class="RktSym">red</span>,
    <span class="RktSym">green</span>, <span class="RktSym">blue</span>, and <span class="RktSym">alpha</span> components
    that range from <span class="RktVal">0</span> to <span class="RktVal">255</span>.</div></p><p>The <span class="RktSym">red</span>, <span class="RktSym">green</span>, and <span class="RktSym">blue</span> fields
    combine to make a color, with the higher values meaning more of the given color.
    For example, <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="stt"> </span><span class="RktVal">255</span><span class="stt"> </span><span class="RktVal">0</span><span class="stt"> </span><span class="RktVal">0</span><span class="RktPn">)</span> makes a
    bright red color and <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span><span class="stt"> </span><span class="RktVal">255</span><span class="stt"> </span><span class="RktVal">0</span><span class="stt"> </span><span class="RktVal">255</span><span class="RktPn">)</span> makes a bright purple.</p><p>The <span class="RktSym">alpha</span> field controls the transparency of the color. A value of <span class="RktVal">255</span> means
    that the color is opaque and <span class="RktVal">0</span> means the color is fully transparent.</p><p>The constructor, <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._make-color%29%29" class="RktValLink" data-pltdoc="x">make-color</a></span>, also accepts only three arguments, in which case
the three arguments are used for the <span class="RktSym">red</span>, <span class="RktSym">green</span>, and <span class="RktSym">blue</span> fields, and the
<span class="RktSym">alpha</span> field defaults to <span class="RktVal">255</span>.</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._2htdp/image..rkt)._y-place~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._y-place~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">y-place?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a placement option
  for the vertical direction. It can be one
  of
<span class="RktVal">"top"</span>,
<span class="RktVal">'</span><span class="RktVal">top</span>,
<span class="RktVal">"bottom"</span>,
<span class="RktVal">'</span><span class="RktVal">bottom</span>,
<span class="RktVal">"middle"</span>,
<span class="RktVal">'</span><span class="RktVal">middle</span>,
<span class="RktVal">"center"</span>,
<span class="RktVal">'</span><span class="RktVal">center</span>,
<span class="RktVal">"baseline"</span>,
<span class="RktVal">'</span><span class="RktVal">baseline</span>,
<span class="RktVal">"pinhole"</span>, or
<span class="RktVal">'</span><span class="RktVal">pinhole</span>.</div></p><p>Using <span class="RktVal">"pinhole"</span> or <span class="RktVal">'</span><span class="RktVal">pinhole</span> is only allowed when all of the
image arguments have <a href="#%28part._pinholes%29" data-pltdoc="x">pinholes</a>.</p><p>See also <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-baseline%29%29" class="RktValLink" data-pltdoc="x">image-baseline</a></span> for more discussion of baselines.</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._2htdp/image..rkt)._x-place~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._x-place~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">x-place?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a placement option
for the horizontal direction. It can be one
of <span class="RktVal">"left"</span>,
<span class="RktVal">'</span><span class="RktVal">left</span>,
<span class="RktVal">"right"</span>,
<span class="RktVal">'</span><span class="RktVal">right</span>,
<span class="RktVal">"middle"</span>,
<span class="RktVal">'</span><span class="RktVal">middle</span>,
<span class="RktVal">"center"</span>,
<span class="RktVal">'</span><span class="RktVal">center</span>,
<span class="RktVal">"pinhole"</span>, or
<span class="RktVal">'</span><span class="RktVal">pinhole</span>.</div></p><p>Using <span class="RktVal">"pinhole"</span> or <span class="RktVal">'</span><span class="RktVal">pinhole</span> is only allowed when all of the image
arguments have <a href="#%28part._pinholes%29" data-pltdoc="x">pinholes</a>.</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._2htdp/image..rkt)._angle~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">angle?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is an angle, namely
a real number (except not <span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span> or
<span class="RktVal">+nan.0</span>).</div></p><p>Angles are in degrees, so 0 is
the same as 360, 90 means rotating one
quarter of the way around a circle, and 180
is halfway around a circle.</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._2htdp/image..rkt)._side-count~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._side-count~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">side-count?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is an integer
greater than or equal to <span class="RktVal">3</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._2htdp/image..rkt)._step-count~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._step-count~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">step-count?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is an integer greater than or equal to <span class="RktVal">1</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._2htdp/image..rkt)._real-valued-posn~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._real-valued-posn~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">real-valued-posn?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp&amp;rel=index.html%23%2528def._%2528%2528lib._lang%252Fposn..rkt%2529._posn%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">posn</a></span> whose <span class="RktVar">x</span> and <span class="RktVar">y</span>
fields are both <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span> numbers.</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>struct</p></div></div><table cellspacing="0" cellpadding="0" class="RForeground"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktStxLink Sq" data-pltdoc="x">struct</a></span></td><td><span class="hspace">&nbsp;</span></td><td><a name="(def._((lib._2htdp/image..rkt)._pen-join))"></a><a name="(def._((lib._2htdp/image..rkt)._pen-cap))"></a><a name="(def._((lib._2htdp/image..rkt)._pen-style))"></a><a name="(def._((lib._2htdp/image..rkt)._pen-width))"></a><a name="(def._((lib._2htdp/image..rkt)._pen-color))"></a><a name="(def._((lib._2htdp/image..rkt)._make-pen))"></a><a name="(def._((lib._2htdp/image..rkt)._pen~3f))"></a><a name="(def._((lib._2htdp/image..rkt)._struct~3apen))"></a><a name="(def._((lib._2htdp/image..rkt)._pen))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValDef RktValLink" data-pltdoc="x">pen</a></span></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">color</span><span class="stt"> </span><span class="RktSym">width</span><span class="stt"> </span><span class="RktSym">style</span><span class="stt"> </span><span class="RktSym">cap</span><span class="stt"> </span><span class="RktSym">join</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._2htdp%2Fimage..rkt%29._make-pen%29%29" class="RktValLink" data-pltdoc="x">make-pen</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">color</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-color~3f%29%29" class="RktValLink" data-pltdoc="x">image-color?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">&lt;=/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</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">style</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-style~3f%29%29" class="RktValLink" data-pltdoc="x">pen-style?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">cap</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-cap~3f%29%29" class="RktValLink" data-pltdoc="x">pen-cap?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">join</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-join~3f%29%29" class="RktValLink" data-pltdoc="x">pen-join?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">The <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen%29%29" class="RktValLink" data-pltdoc="x">pen</a></span> struct specifies how the drawing library draws lines.</div></p><p>A good default for <span class="RktSym">style</span> is <span class="RktVal">"solid"</span>, and
    good default values for the <span class="RktSym">cap</span> and <span class="RktSym">join</span> fields
    are <span class="RktVal">"round"</span>.</p><p>Using <span class="RktVal">0</span> as a width is special; it means to always draw the
    smallest possible, but visible, pen. This means that the pen will always
    be one pixel in size, no matter how the image is scaled.</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._2htdp/image..rkt)._pen-style~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-style~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pen-style?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a valid pen style.
It can be one of
<span class="RktVal">"solid"</span>, <span class="RktVal">'</span><span class="RktVal">solid</span>,
<span class="RktVal">"dot"</span>, <span class="RktVal">'</span><span class="RktVal">dot</span>,
<span class="RktVal">"long-dash"</span>, <span class="RktVal">'</span><span class="RktVal">long-dash</span>,
<span class="RktVal">"short-dash"</span>, <span class="RktVal">'</span><span class="RktVal">short-dash</span>,
<span class="RktVal">"dot-dash"</span>, or <span class="RktVal">'</span><span class="RktVal">dot-dash</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._2htdp/image..rkt)._pen-cap~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-cap~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pen-cap?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a valid pen cap.
It can be one of
<span class="RktVal">"round"</span>, <span class="RktVal">'</span><span class="RktVal">round</span>,
<span class="RktVal">"projecting"</span>, <span class="RktVal">'</span><span class="RktVal">projecting</span>,
<span class="RktVal">"butt"</span>, or <span class="RktVal">'</span><span class="RktVal">butt</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._2htdp/image..rkt)._pen-join~3f))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pen-join~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pen-join?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Determines if <span class="RktVar">x</span> is a valid pen join.
It can be one of
<span class="RktVal">"round"</span>, <span class="RktVal">'</span><span class="RktVal">round</span>,
<span class="RktVal">"bevel"</span>, <span class="RktVal">'</span><span class="RktVal">bevel</span>,
<span class="RktVal">"miter"</span>, or <span class="RktVal">'</span><span class="RktVal">miter</span>.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Equality_Testing_of_Images&quot;">2.3.9<tt>&nbsp;</tt><a name="(part._.Equality_.Testing_of_.Images)"></a>Equality Testing of Images</h5><p>Two images are <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._equal%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">equal?</a></span> if they draw exactly the same way at their current size
(not necessarily at all sizes) and, if there are pinholes, the pinholes are
in the same place.</p><p><div class="SIntrapara">This can lead to some counter-intuitive results. For example,
two completely different shapes that are the same size and are
drawn with the transparent color are equal:
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._equal%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">equal?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"transparent"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._square%29%29" class="RktValLink" data-pltdoc="x">square</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"transparent"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></td></tr></table></div><div class="SIntrapara">See also <a href="2htdpimage-guide.html#%28part._nitty-gritty-alpha%29" data-pltdoc="x">The Nitty Gritty of Alpha Blending</a>.</div></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;pinholes&quot;">2.3.10<tt>&nbsp;</tt><a name="(part._pinholes)"></a>Pinholes</h5><p>A pinhole is an optional property of an image that identifies a point somewhere
in the image. The pinhole can then be used to facilitate overlaying images by
lining them up on the their pinholes.</p><p>When an image has a pinhole, the pinhole
is drawn with crosshairs on the image.
The crosshairs are drawn with a two one pixel wide black lines (one horizontal and one vertical)
and two one pixel wide white lines,
where the black lines is drawn .5 pixels to the left and above the pinhole, and the
white lines are drawn .5 pixels to the right and below the pinhole.
Accordingly, when the pixel is on an integral coordinate, then black and white lines all
take up a single pixel and in the center of their intersections is the actual pinholes.
See <a href="2htdpimage-guide.html#%28part._nitty-gritty%29" data-pltdoc="x">The Nitty Gritty of Pixels, Pens, and Lines</a> for more details about pixels.</p><p>When images are <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%29%29" class="RktValLink" data-pltdoc="x">overlay</a></span>&rsquo;d, <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%29%29" class="RktValLink" data-pltdoc="x">underlay</a></span>&rsquo;d (or the variants of those functions),
placed <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._beside%29%29" class="RktValLink" data-pltdoc="x">beside</a></span>, or <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._above%29%29" class="RktValLink" data-pltdoc="x">above</a></span> each other,
the pinhole of the resulting image is the pinhole of
the first image argument passed to the combining
operation. When images are combined with <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span>
(or the variants of <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29" class="RktValLink" data-pltdoc="x">place-image</a></span>),
then the scene argument&rsquo;s pinhole is preserved.</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._2htdp/image..rkt)._center-pinhole))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">center-pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a pinhole in <span class="RktVar">image</span> at its center.
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="RktValLink" data-pltdoc="x">center-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_183.svg" type="image/svg+xml"></object></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="RktValLink" data-pltdoc="x">center-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_184.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></div><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._2htdp/image..rkt)._put-pinhole))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">x</span><span class="hspace">&nbsp;</span><span class="RktVar">y</span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a pinhole in <span class="RktVar">image</span> at the point (<span class="RktVar">x</span>,<span class="RktVar">y</span>).
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">18</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"forestgreen"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><object data="pict_185.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></div><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._2htdp/image..rkt)._pinhole-x))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the x coordinate of <span class="RktVar">image</span>&rsquo;s pinhole.
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pinhole-x%29%29" class="RktValLink" data-pltdoc="x">pinhole-x</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="RktValLink" data-pltdoc="x">center-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr></table></blockquote></td></tr></table></div><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._2htdp/image..rkt)._pinhole-y))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/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.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._integer%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the y coordinate of <span class="RktVar">image</span>&rsquo;s pinhole.
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._pinhole-y%29%29" class="RktValLink" data-pltdoc="x">pinhole-y</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._center-pinhole%29%29" class="RktValLink" data-pltdoc="x">center-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rectangle%29%29" class="RktValLink" data-pltdoc="x">rectangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr></table></blockquote></td></tr></table></div><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._2htdp/image..rkt)._clear-pinhole))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._clear-pinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">clear-pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Removes a pinhole from <span class="RktVar">image</span> (if the image has a pinhole).</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._2htdp/image..rkt)._overlay/pinhole))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fpinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">overlay/pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Overlays all of the image arguments on their pinholes. If any of the
arguments do not have pinholes, then the center of the image is used instead.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fpinhole%29%29" class="RktValLink" data-pltdoc="x">overlay/pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">75</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_186.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym">let</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">petal</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"purple"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._clear-pinhole%29%29" class="RktValLink" data-pltdoc="x">clear-pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fpinhole%29%29" class="RktValLink" data-pltdoc="x">overlay/pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._circle%29%29" class="RktValLink" data-pltdoc="x">circle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">30</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"yellow"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" class="RktValLink" data-pltdoc="x">rotate</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252A%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">60</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">petal</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_187.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></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._2htdp/image..rkt)._underlay/pinhole))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fpinhole%29%29" class="RktValDef RktValLink" data-pltdoc="x">underlay/pinhole</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">i1</span><span class="hspace">&nbsp;</span><span class="RktVar">i2</span><span class="hspace">&nbsp;</span><span class="RktVar">is</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._2htdp%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">i1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">i2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">is</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image~3f%29%29" class="RktValLink" data-pltdoc="x">image?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Underlays all of the image arguments on their pinholes. If any of the
arguments do not have pinholes, then the center of the image is used instead.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._underlay%2Fpinhole%29%29" class="RktValLink" data-pltdoc="x">underlay/pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">25</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">75</span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._ellipse%29%29" class="RktValLink" data-pltdoc="x">ellipse</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_188.svg" type="image/svg+xml"></object></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym">let*</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">t</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._triangle%29%29" class="RktValLink" data-pltdoc="x">triangle</a></span><span class="hspace">&nbsp;</span><span class="RktVal">40</span><span class="hspace">&nbsp;</span><span class="RktVal">"solid"</span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="RktPn">)</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktSym">w</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktSym">t</span><span class="RktPn">)</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktSym">h</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktSym">t</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._clear-pinhole%29%29" class="RktValLink" data-pltdoc="x">clear-pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._overlay%2Fpinhole%29%29" class="RktValLink" data-pltdoc="x">overlay/pinhole</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._%252F%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="hspace">&nbsp;</span><span class="RktSym">w</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktSym">t</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktSym">w</span><span class="hspace">&nbsp;</span><span class="RktSym">h</span><span class="hspace">&nbsp;</span><span class="RktSym">t</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._put-pinhole%29%29" class="RktValLink" data-pltdoc="x">put-pinhole</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktSym">h</span><span class="hspace">&nbsp;</span><span class="RktSym">t</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><object data="pict_189.svg" type="image/svg+xml"></object></p></td></tr></table></blockquote></td></tr></table></p><h5 x-source-module="(lib &quot;teachpack/teachpack.scrbl&quot;)" x-part-tag="&quot;Exporting_Images_to_Disk&quot;">2.3.11<tt>&nbsp;</tt><a name="(part._.Exporting_.Images_to_.Disk)"></a>Exporting Images to Disk</h5><p>In order to use an image as an input to another program (e.g., Photoshop or
a web browser), it is necessary to represent it in a format that these programs
can understand.</p><p>The <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-image%29%29" class="RktValLink" data-pltdoc="x">save-image</a></span> function provides this functionality,
writing an image to disk using the <span class="stt">PNG</span> format. Since this
format represents an image using a set of pixel values, an image written to disk
generally contains less information than the image that was written, and cannot be scaled
or manipulated as cleanly (by any image program).</p><p>The <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-svg-image%29%29" class="RktValLink" data-pltdoc="x">save-svg-image</a></span> function writes an <span class="stt">SVG</span> file format
representation of the file to the disk that, unlike <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-image%29%29" class="RktValLink" data-pltdoc="x">save-image</a></span> produces
an image that can still be scaled arbitrarily look as good as scaling the
image directly via <span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._scale%29%29" class="RktValLink" data-pltdoc="x">scale</a></span>.</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._2htdp/image..rkt)._save-image))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-image%29%29" class="RktValDef RktValLink" data-pltdoc="x">save-image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span><span class="RktVar">filename</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._boolean%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">filename</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=Manipulating_Paths.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmisc..rkt%2529._path-string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">path-string?</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace">&nbsp;&nbsp;</span></td><td><span class="RktVar">height</span></td><td><span class="hspace">&nbsp;</span></td><td>:</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td>=</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Writes an image to the path specified by <span class="RktVar">filename</span>, using the
<span class="stt">PNG</span> format.</div></p><p>The last two arguments are optional. If present, they determine the width
and height of the save image file. If absent, the width and height of the image is used.</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._2htdp/image..rkt)._save-svg-image))"></a><span title="Provided from: 2htdp/image | Package: htdp-lib"><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._save-svg-image%29%29" class="RktValDef RktValLink" data-pltdoc="x">save-svg-image</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span><span class="RktVar">filename</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">void?</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">image</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%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">filename</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=Manipulating_Paths.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmisc..rkt%2529._path-string%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">path-string?</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="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-width%29%29" class="RktValLink" data-pltdoc="x">image-width</a></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace">&nbsp;&nbsp;</span></td><td><span class="RktVar">height</span></td><td><span class="hspace">&nbsp;</span></td><td>:</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._and%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._real%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">real?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._not%252Fc%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=htdp-langs&amp;rel=beginner.html%23%2528def._htdp-beginner._%2528%2528lib._lang%252Fhtdp-beginner..rkt%2529._negative%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td><span class="hspace">&nbsp;</span></td><td>=</td><td><span class="hspace">&nbsp;</span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._2htdp%2Fimage..rkt%29._image-height%29%29" class="RktValLink" data-pltdoc="x">image-height</a></span><span class="hspace">&nbsp;</span><span class="RktVar">image</span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Writes an image to the path specified by <span class="RktVar">filename</span>, using the
<span class="stt">SVG</span> format.</div></p><p>The last two arguments are optional. If present, they determine the width
and height of the save image file. If absent, the width and height of the image is used.</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.1&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.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="2htdpimage-guide.html" title="backward to &quot;2.2 Image Guide&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="2htdp2htdp.html" title="up to &quot;2 HtDP/2e Teachpacks&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="2htdpuniverse.html" title="forward to &quot;2.4 Worlds and the Universe: &quot;universe.rkt&quot;&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>