CoreImage.CIImage Class
Represents a set of instructions to create an image for use by CoreImage.

See Also: CIImage Members

Syntax

[Foundation.Register("CIImage", true)]
[ObjCRuntime.Availability(Introduced=ObjCRuntime.Platform.iOS_5_0)]
public class CIImage : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, IDisposable

Remarks

Unlike CoreGraphics images (CoreGraphics.CGImage) that are objects that hold the actual image data to be processed, CIImages represents a set of instructions to obtain an image. These recipes are used during the CoreImage filtering, analysis or rendering pipeline to actually create the bitmap representation.

CIImages are either the result of loading an image from disk, an NSData array, a CoreVideo buffer a CoreGraphics image, or the result of processing an image pipeline by CoreImage.

CIImages for example are used when chaining various filters (CoreImage.CIFilter) together and only their abstract representation is passed between the output of one filter and the input to another one. The image might not even reside in the main memory, it could reside entirely on the GPU space as an intermediate step between two filters.

Auto Enhancement Filters

The CIImage.GetAutoAdjustmentFilters method can be used to obtain a list of CIImage filters that can be used to correct various problems found in photos.

These typically include:

You can configure which kind of filters you want to get or configure by setting the properties of an CoreImage.CIAutoAdjustmentFilterOptions instance and then calling the appropriate method.

c# Example

void PrepareFixes (CIImage img)
{
    var opt = new CIAutoAdjustmentFilterOptions () {
    	RedEye = true,
    	AutoAdjustCrop = true
    };
    foreach (var filter in img.GetAutoAdjustmentFilters (opt)) {
    	filter.Image = img;
    	img = filter.OutputImage;
    }
}

Related content

Requirements

Namespace: CoreImage
Assembly: Xamarin.iOS (in Xamarin.iOS.dll)
Assembly Versions: 0.0.0.0