---
title: IKImageView
framework: quartz
role: symbol
role_heading: Class
path: quartz/ikimageview
---

# IKImageView

A view that allows displaying and minor editing of an image.

## Declaration

```swift
class IKImageView
```

## Overview

Overview The IKImageView class provides an efficient way to display images in a view while at the same time supporting a number of image editing operations such as rotating, zooming, and cropping. If possible, image rendering uses hardware acceleration to achieve optimal performance. The IKImageView class is implemented as a subclass of NSView. Similar to NSImageView, the IKImageView class is used to display a single image. You can provide an images for the view in any of these formats: File reference (NSURL, CFURL, or a path) CGImageSource Data (NSData or CFData) Image (CGImage or CIImage) Providing a file reference is the preferred way to set the the image for a view because in addition to the actual image data, IKImageView also handles the image metadata embedded in the file. The image view automatically fetches the metadata from a file reference, whereas for the other sources (except for a CGImageSource source), it cannot. For images set from other sources, you need to set the metadata separately. IKImageView supports multi-frame images (TIFF, GIF, and so forth) and animated images.

## Topics

### Getting and Setting Image View Characteristics

- [delegate](quartz/ikimageview/delegate.md)
- [zoomFactor](quartz/ikimageview/zoomfactor.md)
- [rotationAngle](quartz/ikimageview/rotationangle.md)
- [currentToolMode](quartz/ikimageview/currenttoolmode.md)
- [autoresizes](quartz/ikimageview/autoresizes.md)
- [hasHorizontalScroller](quartz/ikimageview/hashorizontalscroller.md)
- [hasVerticalScroller](quartz/ikimageview/hasverticalscroller.md)
- [autohidesScrollers](quartz/ikimageview/autohidesscrollers.md)
- [supportsDragAndDrop](quartz/ikimageview/supportsdraganddrop.md)
- [editable](quartz/ikimageview/editable.md)
- [doubleClickOpensImageEditPanel](quartz/ikimageview/doubleclickopensimageeditpanel.md)
- [imageCorrection](quartz/ikimageview/imagecorrection.md)
- [backgroundColor](quartz/ikimageview/backgroundcolor.md)
- [imageSize()](quartz/ikimageview/imagesize().md)
- [imageProperties()](quartz/ikimageview/imageproperties().md)

### Getting and Setting Images

- [image()](quartz/ikimageview/image().md)
- [setImage(_:imageProperties:)](quartz/ikimageview/setimage(_:imageproperties:).md)
- [setImageWith(_:)](quartz/ikimageview/setimagewith(_:).md)

### Manipulating the Image in a View

- [setRotationAngle(_:center:)](quartz/ikimageview/setrotationangle(_:center:).md)
- [setImageZoomFactor(_:center:)](quartz/ikimageview/setimagezoomfactor(_:center:).md)
- [zoomImageToFit(_:)](quartz/ikimageview/zoomimagetofit(_:).md)
- [zoomImageToActualSize(_:)](quartz/ikimageview/zoomimagetoactualsize(_:).md)
- [zoomImage(to:)](quartz/ikimageview/zoomimage(to:).md)
- [zoomIn(_:)](quartz/ikimageview/zoomin(_:).md)
- [zoomOut(_:)](quartz/ikimageview/zoomout(_:).md)
- [crop(_:)](quartz/ikimageview/crop(_:).md)
- [flipImageHorizontal(_:)](quartz/ikimageview/flipimagehorizontal(_:).md)
- [flipImageVertical(_:)](quartz/ikimageview/flipimagevertical(_:).md)
- [rotateImageLeft(_:)](quartz/ikimageview/rotateimageleft(_:).md)
- [rotateImageRight(_:)](quartz/ikimageview/rotateimageright(_:).md)

### Working With Core Animation

- [setOverlay(_:forType:)](quartz/ikimageview/setoverlay(_:fortype:).md)
- [overlay(forType:)](quartz/ikimageview/overlay(fortype:).md)

### Scrolling

- [scroll(to:)](quartz/ikimageview/scroll(to:)-myqk.md)
- [scroll(to:)](quartz/ikimageview/scroll(to:)-535q6.md)

### Converting Points and Rectangles

- [convertPoint(toImagePoint:)](quartz/ikimageview/convertpoint(toimagepoint:).md)
- [convertRect(toImageRect:)](quartz/ikimageview/convertrect(toimagerect:).md)
- [convertImagePoint(toViewPoint:)](quartz/ikimageview/convertimagepoint(toviewpoint:).md)
- [convertImageRect(toViewRect:)](quartz/ikimageview/convertimagerect(toviewrect:).md)

### Constants

- [Tool Modes](quartz/tool-modes.md)
- [Overlay Types](quartz/overlay-types.md)

## Relationships

### Inherits From

- [NSView](appkit/nsview.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSAnimatablePropertyContainer](appkit/nsanimatablepropertycontainer.md)
- [NSAppearanceCustomization](appkit/nsappearancecustomization.md)
- [NSCoding](foundation/nscoding.md)
- [NSDraggingDestination](appkit/nsdraggingdestination.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Classes

- [IKCameraDeviceView](quartz/ikcameradeviceview.md)
- [IKDeviceBrowserView](quartz/ikdevicebrowserview.md)
- [IKFilterBrowserPanel](quartz/ikfilterbrowserpanel.md)
- [IKFilterBrowserView](quartz/ikfilterbrowserview.md)
- [IKFilterUIView](quartz/ikfilteruiview.md)
- [IKImageBrowserCell](quartz/ikimagebrowsercell.md)
- [IKImageEditPanel](quartz/ikimageeditpanel.md)
- [IKPictureTaker](quartz/ikpicturetaker.md)
- [IKSaveOptions](quartz/iksaveoptions.md)
- [IKScannerDeviceView](quartz/ikscannerdeviceview.md)
- [IKSlideshow](quartz/ikslideshow.md)
