<!--
{
  "documentType" : "article",
  "framework" : "ImageIO",
  "identifier" : "/documentation/ImageIO/image-i-o-functions",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Image I/O Functions"
}
-->

# Image I/O Functions

## Topics

### Functions

[`func CGImageDestinationAddImageAndMetadata(CGImageDestination, CGImage, CGImageMetadata?, CFDictionary?)`](/documentation/ImageIO/CGImageDestinationAddImageAndMetadata(_:_:_:_:))

[`func CGImageDestinationCopyImageSource(CGImageDestination, CGImageSource, CFDictionary?, UnsafeMutablePointer<Unmanaged<CFError>?>?) -> Bool`](/documentation/ImageIO/CGImageDestinationCopyImageSource(_:_:_:_:))

[`func CGImageSourceCopyMetadataAtIndex(CGImageSource, Int, CFDictionary?) -> CGImageMetadata?`](/documentation/ImageIO/CGImageSourceCopyMetadataAtIndex(_:_:_:))

[`func CGImageSourceRemoveCacheAtIndex(CGImageSource, Int)`](/documentation/ImageIO/CGImageSourceRemoveCacheAtIndex(_:_:))

[`func CGImageSourceSetAllowableTypes(CFArray) -> OSStatus`](/documentation/ImageIO/CGImageSourceSetAllowableTypes(_:))

Restricts which image formats can be decoded in the current process.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)