Skip to contents

Convert AmigaFFH objects that contain bitmap images into grDevices raster images.

Usage

# S3 method for AmigaBasicShape
as.raster(x, selected = c("bitmap", "shadow", "collision"), ...)

# S3 method for AmigaBitmapFont
as.raster(x, text, style, palette, ...)

# S3 method for AmigaBitmapFontSet
as.raster(x, text, style, palette, ...)

# S3 method for hardwareSprite
as.raster(x, background = "#AAAAAA", ...)

# S3 method for IFFChunk
as.raster(x, ...)

# S3 method for AmigaIcon
as.raster(x, selected = F, ...)

Arguments

x

Object that needs to be converted into a grDevices raster. It can be an IFFChunk() containing an interleaved bitmap image (ILBM) or animation (ANIM), a hardwareSprite(), an AmigaBitmapFont() object or an AmigaBitmapFontSet() object.

selected

When x is an object of class AmigaIcon(), selected can be used to select a specific state. When set to TRUE, the raster of the AmigaIcon() will be based on the `selected' state of the icon. Otherwise it will be based on the deselected state (default).

When x is an AmigaBasicShape() class object, selected can be used to select a specific layer of the shape to plot, which can be one of "bitmap" (default), "shadow" or "collision".

...

Currently ignored.

text

Text (a character string) to be formated with x (when x is an AmigaBitmapFont() or an AmigaBitmapFontSet().

style

Argument is only valid when x is an AmigaBitmapFont() or an AmigaBitmapFontSet(). No styling is applied when missing or NULL. One or more of the following styles can be used 'bold', 'italic or 'underlined'.

palette

Argument is only valid when x is an AmigaBitmapFont() or an AmigaBitmapFontSet(). Should be a vector of two colours. The first is element is used as background colour, the second as foreground. When missing, transparent white and black are used.

background

Use the argument background to specify a background colour in case x is a hardwareSprite().

Value

Returns a grDevices raster image (grDevices::as.raster()) based on x. If x is an animation (IFFChunk() of type ANIM), a list of raster objects is returned.

Details

Images on the Amiga were stored as bitmap images with indexed colour palettes. This was mainly due to hardware and memory limitations. Bitmap images could also be embedded in several file types. This method can be used to convert AmigaFFH objects read from such files into grDevices raster images (grDevices::as.raster()).

Author

Pepijn de Vries

Examples

if (FALSE) {
## load an IFF file
example.iff <- read.iff(system.file("ilbm8lores.iff", package = "AmigaFFH"))

## The file contains an interleaved bitmap image that can be
## converted into a raster:
example.raster <- as.raster(example.iff)

## the raster can be plotted:
plot(example.raster)

## note that the IFFChunk can also be plotted directly:
plot(example.iff)

## Hardware sprites can also be converted into raster images.
## Let's generate a 16x16 sprite with a random bitmap:
spr <- new("hardwareSprite",
           VStop = 16,
           bitmap = as.raw(sample.int(255, 64, replace = TRUE)))

## now convert it into a raster image.
## as the background colour is not specified for hardware
## sprite, we can optionally provide it here.
spr.raster <- as.raster(spr, background = "green")

## AmigaBasicShape objects can also be converted into rasters:
ball <- read.AmigaBasicShape(system.file("ball.shp", package = "AmigaFFH"))
ball.rst <- as.raster(ball)
}