Turtle Shapes and Bitmaps
Load and save turtle shapes and bitmaps.
The commands in this group load and save turtle shapes and bitmaps. A turtle shape is a bitmap that can be loaded from a disk file, or a rectangular area of the graphics window.
LOADSHAPE
Loads a turtle shape from disk and sets the shape of all active turtles.
Syntax
LOADSHAPE filename
LOADSHAPE filename.ext
LOADSHAPE type-descriptors
(LOADSHAPE)
Description
LOADSHAPE loads the specified image from the disk and sets the shape of all active turtles to that image. LOADSHAPE displays a File Open dialog if the input is a list of file type descriptors, or if LOADSHAPE is called without any inputs. For a description of file type descriptors, see the OPEN command.
If the file name is just a file name without any directory information, LOADSHAPE attempts to load the image from the Toolbox/Shapes folder if it cannot be found at the designated location.
If the loaded picture does not contain transparency information, you can
use the shape’s TRANSPARENT
property to define the color that should
be transparent.
The turtle shape is always a black-and-white image with a size of 31×31 pixels. Any loaded image is scaled to such a black-and-white image.
See also LOADSNAP and SETSHAPE.
Example
The following example first looks for a Logo bitmap object named
MOOSE
. If it cannot find such a bitmap, it looks for MOOSE.PNG
in
the current directory; finally, it looks up MOOSE.PNG
in the Shapes
folder of the Toolbox and loads it from there.
LOADSHAPE “MOOSE SHAPE
LOADSNAP
Loads a bitmap.
Syntax
LOADSNAP filename
LOADSNAP filename.ext
(LOADSNAP)
LOADSNAP type-descriptors
Description
LOADSNAP loads the specified file from the disk into a newly created BITMAP widget. LOADSNAP can load various bitmap formats. If no extension is given to the filename, the picture format that is attempted to be loaded is the format specified in the built-in variable :PICTURE.FORMAT. If the file has a different extension, then the extension must be specified in the LOADSNAP command. LOADSNAP reports the name of the created widget. This result can be used as the input to SNAP or STAMP.
LOADSNAP sets the TRANSPARENT
property of the loaded bitmap to white
to make white pixels transparent. If you do not want this to happen, set
the loaded bitmap’s TRANSPARENT
property to an empty list to clear the
transparency setting.
LOADSNAP displays a File Open dialog if it is called without any inputs, or if the input is a list of file type descriptors. For a description of file type descriptors, see the OPEN command. Clicking the Cancel button in a file open/save dialog causes the LOADSNAP command to return an empty list. See also SNAPSIZE and SAVESNAP.
LOCKSHAPE
Prevents a bitmap from turning.
Syntax
LOCKSHAPE
Description
LOCKSHAPE prevents the shapes for all active turtles and bitmaps from rotating when the widget turns. This can be convenient when you want the shape to appear in its current orientation and size, regardless of how you turn the turtle or bitmap.
The command HEADING always reports the true heading of the widget. Use UNLOCKSHAPE to restore the shape’s visual orientation to match its heading.
Example
HOME
SETH 45
LOCKSHAPE
FD 100
UNLOCKSHAPE
SAVESHAPE
Saves a turtle shape.
Syntax
SAVESHAPE filename
SAVESHAPE filename.ext
(SAVESHAPE)
SAVESHAPE type-descriptors
Description
SAVESHAPE saves the shape of the first active turtle or bitmap to disk. The shape is not saved in a rotated or scaled state. Turtle shapes are bitmaps with a transparent color so they can display as a non-rectangular shape.
SAVESHAPE displays a File Save dialog if it is called without any inputs, or if the input is a list of file type descriptors. For a description of file type descriptors, see the OPEN command. If you click the dialog’s Cancel button, SAVESHAPE returns without saving anything.
SAVESNAP
Saves a turtle shape.
Syntax
SAVESNAP turtle filename
SAVESNAP turtle filename.ext
(SAVESNAP turtle)
SAVESNAP turtle []
SAVESNAP turtle type-descriptors
Description
SAVESNAP saves a turtle shape as a bitmap file directly on the disk. SAVESNAP saves graphics images in the format specified in the built-in variable :PICTURE.FORMAT unless a different file extension is given. You do not need to include the extension to save the file in the default format. These images can be loaded with LOADSNAP or LOADPIC.
SAVESNAP displays a File Save dialog if it is called without any inputs, or if the input is a list of file type descriptors. For a description of file type descriptors, see the OPEN command. If you click the dialog’s Cancel button, SAVESNAP returns without saving anything.
If any part of the bitmap image should be saved transparent, use the
bitmap’s TRANSPARENT
property to set the color(s) that should be
treated as being transparent before calling SAVESNAP.
SAVESNAP is used to save a bitmap shape that a previous SNAP command has created. It is very similar to the SAVESHAPE command, which saves the shape of the first active turtle.
SETSHAPE
Sets the shape of all active turtles.
Syntax
SETSHAPE name-of-shape
(SETSHAPE)
SETSHAPE filename
SETSHAPE filename.ext
SETSHAPE type-descriptors
Description
SETSHAPE redefines the shape of the active turtle(s). Its input is the name of a bitmap or turtle holding the shape to assign to the active turtle(s). If SETSHAPE is used with no arguments and enclosed in parentheses, the original turtle shape is restored for all active turtle(s).
If SETSHAPE cannot find a turtle or bitmap with the given name, it calls LOADSHAPE to attempt to load the shape from a disk file.
If the picture does not contain transparency information, you can use
the shape’s TRANSPARENT
property to define the color that should be
transparent.
The turtle shape is always a black-and-white image with a size of 31×31 pixels. Any bitmap is scaled to such a black-and-white image.
See also SHAPE, LOADSHAPE and LOADSNAP.
Example
Changes the shape of all active turtles to a moose.
SETSHAPE “MOOSE
SHAPE
Outputs the name of the first active turtle’s shape.
Syntax
SHAPE
Description
SHAPE reports the name of the shape of the current turtle. The name of the turtle’s default shape is the empty name. Use SETSHAPE or LOADSHAPE to alter the shape of a turtle.
Example
SHAPE Result:
SNAP
Moves parts of the graphics window into a bitmap.
Syntax
SNAP width height
Description
SNAP reports a region of the screen as a newly created bitmap. The position of the first active turtle marks the lower left corner, while the inputs describe the size of the image to be SNAPped in pixels. The bitmap that SNAP reports may be saved, loaded, or STAMPed.
A SNAPped bitmap is initially invisible and attached to the same Graphics window as the first active turtle.
See also STAMP, SAVESNAP, LOADSNAP and SNAPSIZE.
SNAPSIZE
Outputs the size of a bitmap.
Syntax
SNAPSIZE turtle
Description
SNAPSIZE reports the size of a previously SNAPped bitmap shape as a list of two elements. The first element is the width of the bitmap in screen pixels and the second element is the height of the bitmap in screen pixels. See also SNAP, STAMP, LOADSNAP and SAVESNAP.
Example
SNAPSIZE 0 Result: [31 31]
STAMP
Draw a bitmap or turtle.
Syntax
STAMP
(STAMP bitmap)
(STAMP bitmap width height)
Description
With no input, STAMP prints the shape of the active turtle(s) in the Graphics window with the turtle at the center of the image. Move the current turtle to see the stamped image. With one optional input, STAMP can stamp the specified turtle at the current turtle’s location.
The image stamp’s lower left corner is at the coordinates of the active turtle(s). If a width and height (in pixels) are also given as optional inputs, the image is stretched to occupy the specified area. The shape is stamped in its current scale and heading. See also SETSHAPE and SNAP.
Example
STAMP PU FD 40 PD
UNLOCKSHAPE
Lets a bitmap rotate according to the turtle’s heading.
Syntax
UNLOCKSHAPE
Description
UNLOCKSHAPE restores the normal rotation of the bitmap, cancelling the effects of LOCKSHAPE. The bitmap immediately returns to the orientation that most accurately represents its true heading.
Example
HOME SETH 45 LOCKSHAPE FD 100 UNLOCKSHAPE