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