ImageTools[Draw] - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Graphics : Image Processing : ImageTools Package : Draw Subpackage : ImageTools/Draw/SolidRectangle

ImageTools[Draw]

  

SolidRectangle

  

ImageTools:-Draw Solid Rectangle Primitive

 

Calling Sequence

Parameters

Description

Package Usage

Examples

Compatibility

Calling Sequence

SolidRectangle( image, x1, y1, x2, y2, color )

Parameters

image

-

ImageTools:-Image

x1

-

numeric

y1

-

numeric

x2

-

numeric

y2

-

numeric

color

-

(optional) see description

Description

• 

After first creating an image using ImageTools:-Create, or loading an image with ImageTools:-Read, drawing operations can be performed on it using a number of primitives (functions that draw one kind of object). The first argument to each primitive is the image itself, as returned by Create or Read.

• 

The SolidRectangle primitive draws a rectangle whose boundaries fall (perceptually) on the mathematical rectangle specified by two opposing corners. This differs from using the Poly primitive with matching line color and solid fill pattern in that with the latter, half of the thickness of the enclosing line segments falls outside of the boundaries.

• 

The x1, y1, x2, and y2 arguments define the bounds of the rectangle. There is no requirement that x1 be less than x2 or y1 be less than y2. That is, any two opposing corners can be specified, in either order.

• 

The color argument can be specified in one of several forms:

gray

A numeric value between 0 and 1 specifying a shade of gray. The value 0 corresponds to black, and 1 to white.

[r,g,b]

A list of three numeric values between 0 and 1 specifying the red, green, and blue components separately.

[r,g,b,α]

A list of four numeric values between 0 and 1 specifying the red, green, blue, and opacity (alpha) separately. When the opacity is less than 1, the color will be blended with the existing content of the image.

ColorTools:-Color

A value of type ColorTools:-Color.

ColorTools:-Color argument(s)

Any form accepted by the ColorTools:-Color constructor, such as a string giving a color name (e.g. "red", palette and color name (e.g. "Niagara DarkOrchid"), or palette and color number (e.g. "Nautical 1"). Two argument forms are accepted as well, but then it is necessary to always use the keyword form of the color argument, since otherwise the two arguments will be interpreted as two separate arguments to the drawing primitive. For example, color=("HSV",[0.5,0.6,0.6]).

• 

The color option can be specified as a keyword equation or as the 6th positional argument in the calling sequence.

Package Usage

• 

This function is part of the ImageTools:-Draw package, so it can be used in the short form SolidRectangle(..) only after executing the command with(ImageTools:-Draw). However, it can always be accessed through the long form of the command by using ImageTools:-Draw:-SolidRectangle(..).

Examples

withImageTools:

withImageTools:-Draw:

Solid gray rectangle.

imgCreate240,320,channels=3,background=white:

SolidRectangleimg,32,32,288,208,color=0.5

Embedimg

Supporting Functions for the Examples

Draw a red crosshair centered at (x*scale,y*scale).

crossHair := proc( img :: Array, x :: numeric, y :: numeric, scale :: numeric )
   uses ImageTools:-Draw;
   Line(img,(x-1.5)*scale,y*scale,(x+1.5)*scale,y*scale,
        color="red",thickness=1.5);
   Line(img,x*scale,(y-1.5)*scale,x*scale,(y+1.5)*scale,
        color="red",thickness=1.5)
end:

Draw a background grid with specified interval.

gridFill := proc( img :: Array, interval :: numeric )
   local x, y, w, h;
   uses ImageTools:-Draw;
   w, h := Width(img), Height(img);
   for x from interval by interval while x < w do
       Line(img,x,0,x,h,color=[0,1,1,0.25])
   od;
   for y from interval by interval while y < h do
       Line(img,0,y,w,y,color=[0,1,1,0.25])
   od
end:

The images below were generated at 20 pixels width and 15 pixels height, magnified by a factor of 16, and then augmented with red crosshairs to show the mathematical corners of the rectangles.

Zoomed solid gray rectangle with integer bounds.

imgCreate15&comma;20&comma;channels&equals;3&comma;background&equals;white&colon;

SolidRectangleimg&comma;2&comma;2&comma;18&comma;13&comma;color&equals;0.5

imgScaleimg&comma;16&comma;method&equals;nearest&colon;

gridFillimg&comma;16

crossHairimg&comma;2&comma;2&comma;16

crossHairimg&comma;18&comma;13&comma;16

Embedimg

Zoomed solid gray rectangle with some non-integer bounds.

imgCreate15&comma;20&comma;channels&equals;3&comma;background&equals;white&colon;

SolidRectangleimg&comma;2.5&comma;2&comma;18&comma;12.7&comma;color&equals;0.5

imgScaleimg&comma;16&comma;method&equals;nearest&colon;

gridFillimg&comma;16

crossHairimg&comma;2.5&comma;2&comma;16

crossHairimg&comma;18&comma;12.7&comma;16

Embedimg

Compatibility

• 

The ImageTools[Draw][SolidRectangle] command was introduced in Maple 2018.

• 

For more information on Maple 2018 changes, see Updates in Maple 2018.

See Also

ImageTools

ImageTools:-Draw:-Circle

ImageTools:-Draw:-Line

ImageTools:-Draw:-Poly

ImageTools:-Draw:-Text

ImageTools:-Draw:-TextSize