## Image

Object Hierarchy | Related C++ Class: Image

### Introduced

v2.0

### Description

This class provides read-access to the representation of an image in memory.
For the vast majority of image files, Softimage represents the data in memory as uncompressed 8-bit RGBA. This is true even if the original file has no alpha information. The format of the data can be determined with Image.NumChannels and Image.ChannelSize.

### Methods

GetPixel | GetPixelArray |  |

### Properties

ChannelSize | NumChannels | ResX | ResY

### Examples

#### VBScript Example

    ' The script demonstrates the relationship between the Image, ImageClip and Source
    ' objects
    Option Explicit
    ' ----------------------------------------------------------------
    ' create a new image clip
    ' ----------------------------------------------------------------
    newscene , false
    dim oImageClip
    set oImageClip = CreateImageClip( _
                    "$SI_HOME\Data\XSI_SAMPLES\Pictures\jio.jpg", _
                    "MyImage" )
    logmessage "image familes->" & oImageClip.families
    ' ----------------------------------------------------------------
    ' get startframe, endframe, xdimension and ydimension parameters
    ' ----------------------------------------------------------------
    if typename(oImageClip) <> "Nothing" then
            'Use the source to get image information
            dim oImageSource : set oImageSource = oImageClip.Source
            logmessage "startframe->" & oImageSource.FrameStart.Value
            logmessage "endframe->" &  oImageSource.FrameEnd.Value
            logmessage "xdimension ->" &  oImageSource.XRes.Value
            logmessage "ydimension ->" &  oImageSource.YRes.Value
            'Read bottom left pixel
            dim oImage : set oImage = oImageClip.GetImage
            dim oPixel : set oPixel = oImage.GetPixel( 0, 0 )
            logmessage "The pixel color is:"
            logmessage "R: " & oPixel.Red
            logmessage "G: " & oPixel.Green
            logmessage "B: " & oPixel.Blue
            logmessage "A: " & oPixel.Alpha
            logmessage "xdimension (method2) ->" &  oImage.ResX
            logmessage "ydimension (method2)->" &  oImage.ResY
            logmessage "Channels ->" &  oImage.NumChannels
            logmessage "Channel Size (bytes) ->" &  oImage.ChannelSize
    end if
    ' ----------------------------------------------------------------
    ' Demonstrate how to find all image clips in the scene
    ' ----------------------------------------------------------------
    logmessage "All image clips in Scene:"
    dim oImageClips : set oImageClips = Project_GetImageClips()
    for each oImageClip in oImageClips
            logmessage "Image Clip->" &oImageClip
    next
    ' ----------------------------------------------------------------
    ' Return collection of project image clips
    ' ----------------------------------------------------------------
    function Project_GetImageClips()
            dim oCol : set oCol = enumelements( "Clips.Image" )
            set Project_GetImageClips = sifilter( oCol, "Image Clips", ,siSearchFamilies )
    end function

### See Also

ImageClip.GetImage