SessionImage
@objcMembers
public class SessionImage : NSObject, Codable
For more information see Session
documentation.
-
The pixel dimensions of the original image. Does not take into account the preferredTransform.
Declaration
Swift
public internal(set) var naturalSize: CGSize { get }
-
The pixel dimensions of the original image with the preferredTransform taken into account.
Declaration
Swift
public var actualSize: CGSize { get }
-
The pixel dimensions of the final image.
If there is a cropRect, this will be equal to the size of the cropRect. Otherwise it is equal to the actualSize.
Declaration
Swift
public var renderSize: CGSize { get }
-
The preferredTransform takes into account any rotation that should be made to the image.
If the image originally came with an orientation, it will be converted into the preferredTransform.
Any rotation made by the
EditController
will also be reflected here.Default value:
.identity
Declaration
Swift
public var preferredTransform: CGAffineTransform { get set }
-
The cropRect defines which region of the image should be the final image.
The cropRect is placed inside the image after the preferredTransform is applied. The image size will be the actualSize and the origin is top left corner. The cropRect is in pixels.
Default value:
nil
Declaration
Swift
public var cropRect: CGRect? { get set }
-
The active primary filter. This will be set when a filter is selected from the
EditController
Filter tab.Declaration
Swift
public var primaryFilter: SessionFilter? { get set }
-
All active filters not including the primaryFilter. The
EditController
Adjust tab will place filters here.The filters in this array will be applied in ascending order.
Declaration
Swift
public var filters: [SessionFilter] { get set }
-
If the image came from the users Photo Library and there was location information associated, this will be set.
See the documentation for CLLocation.
Default value:
nil
Declaration
Swift
public var location: CLLocation?
-
If the image came from the users Photo Library and there was location information associated, this will be equal to the latitude value of the location coordinate.
The latitude is in degrees. Positive values indicate latitudes north of the equator. Negative values indicate latitudes south of the equator.
Default value:
self.location?.coordinate.latitude
Declaration
Swift
public var latitude: Double? { get }
-
If the image came from the users Photo Library and there was location information associated, this will be equal to the longitude value of the location coordinate.
The longitude is in degrees. Measurements are relative to the zero meridian, with positive values extending east of the meridian and negative values extending west of the meridian.
Default value:
self.location?.coordinate.longitude
Declaration
Swift
public var longitude: Double? { get }
-
The URL location of the final JPEG image file after it has been exported. There will only be a file here after an export has been completed. You may move, copy or delete this file. See
ImageExporter
for more information.Declaration
Swift
public var exportedImageURL: URL { get }
-
The UTC date when the last successful image export started.
Declaration
Swift
public internal(set) var dateExported: Date? { get }
-
Indicates if the export was completed.
If the sessions dateModified is an older date than the images dateExported, this will be false. In other words, if you export the image this will become true but if you then make modifications to the image this will flip back to false. The exportedImageURL file must also exist for this to be true.
Declaration
Swift
public var isExported: Bool { get }
-
Retrieves a thumbnail for the image. Thumbnails do not include filters, unless you manually pass a SessionFilter to this function.
If the thumbnail has not been retrieved before it will be generated and cached. If it has been retrieved before, it will be pulled from cache. Cache persists after restart.
Declaration
Swift
public func requestThumbnail(boundingSize: CGSize, contentMode: ContentMode, filter: SessionFilter? = nil, completion: @escaping ((UIImage?) -> Void))
Parameters
boundingSize
The size in pixels you would like to restrict the thumbnail to. The maximum size you can request is 400x400 pixels.
contentMode
The contentMode will control how the thumbnail is filled or fit into the size. Content will not be clipped to bounds.
filter
An optional SessionFilter to apply to the thumbnail.
completion
Called when the thumbnail has been retrieved.
-
Clears the thumbnail cache.
Declaration
Swift
public func invalidateThumbnails()