diff --git a/collects/2htdp/private/img-err.ss b/collects/2htdp/private/img-err.ss index 78ed2ca40e..f9f24ebc04 100644 --- a/collects/2htdp/private/img-err.ss +++ b/collects/2htdp/private/img-err.ss @@ -124,12 +124,19 @@ 'non-negative-real-number i arg) arg] - [(dx dy x1 y1 x2 y2 factor x-factor y-factor pull1 pull2) + [(dx dy x1 y1 x2 y2 pull1 pull2) (check-arg fn-name (real? arg) 'real\ number i arg) arg] + [(factor x-factor y-factor) + (check-arg fn-name + (and (real? arg) + (positive? arg)) + 'positive\ real\ number + i arg) + arg] [(side-count) (check-arg fn-name (side-count? arg) diff --git a/collects/2htdp/tests/test-image.ss b/collects/2htdp/tests/test-image.ss index 2372d1a0ec..604985cbbe 100644 --- a/collects/2htdp/tests/test-image.ss +++ b/collects/2htdp/tests/test-image.ss @@ -1512,10 +1512,11 @@ (underlay image image) (underlay/xy image coord coord image) (crop coord coord size size image) - (scale/xy size size image) - (scale size image) + (scale/xy factor factor image) + (scale factor image) (rotate angle image)) - + + (factor (+ 1 big-nat) 1/2 1/3 1/4) ;; scaling factors (size big-nat) (mode 'outline 'solid "outline" "solid") (color "red" 'red "blue" "orange" "green" "black") diff --git a/collects/teachpack/2htdp/scribblings/image.scrbl b/collects/teachpack/2htdp/scribblings/image.scrbl index 0ef657b362..048a48f175 100644 --- a/collects/teachpack/2htdp/scribblings/image.scrbl +++ b/collects/teachpack/2htdp/scribblings/image.scrbl @@ -768,7 +768,7 @@ the parts that fit onto @scheme[scene]. } -@defproc[(scale [factor real?] [image image?]) image?]{ +@defproc[(scale [factor (and/c real? positive?)] [image image?]) image?]{ Scales @scheme[image] by @scheme[factor]. @@ -788,7 +788,7 @@ the parts that fit onto @scheme[scene]. } -@defproc[(scale/xy [x-factor real?] [y-factor real?] [image image?]) image?]{ +@defproc[(scale/xy [x-factor (and/c real? positive?)] [y-factor (and/c real? positive?)] [image image?]) image?]{ Scales @scheme[image] by @scheme[x-factor] horizontally and by @scheme[y-factor] vertically.