< Previous | Contents | Next >
This function will sample an arbitrary position from the coordinates specified by the first two arguments, and fill the Pixel object p with values from the sampled pixels. The X and Y arguments are floating-point pixel coordinates, with 0,0 being the bottom-left corner and <width-1>,<height-1> being the top-right corner. Unlike GetPixel, if the coordinates do not align exactly with a pixel then bilinear filtering will be performed with neighbouring pixels.
If the coordinates provided are outside the actual bounds of the image, the return value will be the pixel at the edge of the image. For example, if sampling a pixel at coordinates (-30.0, 50.0) the actual pixel sampled would be (0.0, 50.0).
See SamplePixelW and SamplePixelB for functions that treat out of bound sampling in different ways.
Before using the SampleArea methods, initial setup must be done, which pre-calculates values needed by the area sampling functions. Be aware however area sampling is a very memory intensive approach and should only be used if "full quality" is required. The setup is done using the UseSAT()function.
This maintains a reference count, and so an equivalent RecycleSAT() must be done once you’re finished area sampling. Without the RecycleSAT(), Fusion will not be able to free up the pre-calculated values until the whole Image itself is destroyed.