ObjFW
 
Loading...
Searching...
No Matches
OFImage Class Reference

A class representing an image. More...

#include <ObjFW/ObjFW.h>

Inheritance diagram for OFImage:
OFObject <OFCopying> <OFMutableCopying> <OFObject> OFMutableImage

Instance Methods

(instancetype) - initWithPixels:pixelFormat:size:
 Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size.
 
(instancetype) - initWithPixels:pixelFormat:size:colorSpace:
 Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size in the specified color space.
 
(instancetype) - initWithPixelsNoCopy:pixelFormat:size:freeWhenDone:
 Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer.
 
(instancetype) - initWithPixelsNoCopy:pixelFormat:size:colorSpace:freeWhenDone:
 Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer in the specified color space.
 
(OFColor *) - colorAtPoint:
 Returns the color at the specified point.
 
(OFImage *) - imageUsingPixelFormat:colorSpace:
 Returns the image as a new image in the specified pixel format and color space.
 
(void) - writeToStream:imageFormat:options:
 Writes the image to the specified stream in the specified format.
 
- Instance Methods inherited from OFObject
(instancetype) - init
 Initializes an already allocated object.
 
(nullable OFMethodSignature *) - methodSignatureForSelector:
 Returns the method signature for the specified selector.
 
(void) - dealloc
 Deallocates the object.
 
(void) - performSelector:afterDelay:
 Performs the specified selector after the specified delay.
 
(void) - performSelector:withObject:afterDelay:
 Performs the specified selector with the specified object after the specified delay.
 
(void) - performSelector:withObject:withObject:afterDelay:
 Performs the specified selector with the specified objects after the specified delay.
 
(void) - performSelector:withObject:withObject:withObject:afterDelay:
 Performs the specified selector with the specified objects after the specified delay.
 
(void) - performSelector:withObject:withObject:withObject:withObject:afterDelay:
 Performs the specified selector with the specified objects after the specified delay.
 
(void) - performSelector:onThread:waitUntilDone:
 Performs the specified selector on the specified thread.
 
(void) - performSelector:onThread:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified object.
 
(void) - performSelector:onThread:withObject:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified objects.
 
(void) - performSelector:onThread:withObject:withObject:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified objects.
 
(void) - performSelector:onThread:withObject:withObject:withObject:withObject:waitUntilDone:
 Performs the specified selector on the specified thread with the specified objects.
 
(void) - performSelectorOnMainThread:waitUntilDone:
 Performs the specified selector on the main thread.
 
(void) - performSelectorOnMainThread:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified object.
 
(void) - performSelectorOnMainThread:withObject:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified objects.
 
(void) - performSelectorOnMainThread:withObject:withObject:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified objects.
 
(void) - performSelectorOnMainThread:withObject:withObject:withObject:withObject:waitUntilDone:
 Performs the specified selector on the main thread with the specified objects.
 
(void) - performSelector:onThread:afterDelay:
 Performs the specified selector on the specified thread after the specified delay.
 
(void) - performSelector:onThread:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified object after the specified delay.
 
(void) - performSelector:onThread:withObject:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified objects after the specified delay.
 
(void) - performSelector:onThread:withObject:withObject:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified objects after the specified delay.
 
(void) - performSelector:onThread:withObject:withObject:withObject:withObject:afterDelay:
 Performs the specified selector on the specified thread with the specified objects after the specified delay.
 
(nullable id) - forwardingTargetForSelector:
 This method is called when resolveClassMethod: or resolveInstanceMethod: returned false. It should return a target to which the message should be forwarded.
 
(void) - doesNotRecognizeSelector:
 Handles messages which are not understood by the receiver.
 
- Instance Methods inherited from <OFObject>
(unsigned long) - hash
 Returns a hash for the object.
 
(unsigned int) - retainCount
 Returns the retain count.
 
(bool) - isProxy
 Returns whether the object is a proxy object.
 
(bool) - isKindOfClass:
 Returns a boolean whether the object is of the specified kind.
 
(bool) - isMemberOfClass:
 Returns a boolean whether the object is a member of the specified class.
 
(bool) - respondsToSelector:
 Returns a boolean whether the object responds to the specified selector.
 
(nullable IMP- methodForSelector:
 Returns the implementation for the specified selector.
 
(nullable id) - performSelector:
 Performs the specified selector.
 
(nullable id) - performSelector:withObject:
 Performs the specified selector with the specified object.
 
(nullable id) - performSelector:withObject:withObject:
 Performs the specified selector with the specified objects.
 
(nullable id) - performSelector:withObject:withObject:withObject:
 Performs the specified selector with the specified objects.
 
(nullable id) - performSelector:withObject:withObject:withObject:withObject:
 Performs the specified selector with the specified objects.
 
(bool) - isEqual:
 Checks two objects for equality.
 
(instancetype) - retain
 Increases the retain count.
 
(void) - release
 Decreases the retain count.
 
(instancetype) - autorelease
 Adds the object to the topmost autorelease pool of the thread's autorelease pool stack.
 
(instancetype) - self
 Returns the receiver.
 
(bool) - allowsWeakReference
 Returns whether the object allows a weak reference.
 
(bool) - retainWeakReference
 Retain a weak reference to this object.
 
- Instance Methods inherited from <OFCopying>
(id) - copy
 Copies the object.
 
- Instance Methods inherited from <OFMutableCopying>
(id) - mutableCopy
 Creates a mutable copy of the object.
 

Class Methods

(OFMutableImage *) + imageWithStream:imageFormat:
 Creates a new mutable image from the specified stream.
 
(instancetype) + imageWithPixels:pixelFormat:size:
 Creates a new image with the specified pixels in the specified pixel format and the specified size.
 
(instancetype) + imageWithPixels:pixelFormat:size:colorSpace:
 Creates a new image with the specified pixels in the specified pixel format and the specified size in the specified color space.
 
(instancetype) + imageWithPixelsNoCopy:pixelFormat:size:freeWhenDone:
 Creates a new image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer.
 
(instancetype) + imageWithPixelsNoCopy:pixelFormat:size:colorSpace:freeWhenDone:
 Creates a new image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer in the specified color space.
 
- Class Methods inherited from OFObject
(void) + load
 A method which is called once when the class is loaded into the runtime.
 
(void) + unload
 A method which is called when the class is unloaded from the runtime.
 
(void) + initialize
 A method which is called the moment before the first call to the class is being made.
 
(instancetype) + alloc
 Allocates memory for an instance of the class and sets up the memory pool for the object.
 
(Class) + class
 Returns the class.
 
(OFString *) + className
 Returns the name of the class as a string.
 
(bool) + isSubclassOfClass:
 Returns a boolean whether the class is a subclass of the specified class.
 
(nullable Class) + superclass
 Returns the superclass of the class.
 
(bool) + instancesRespondToSelector:
 Checks whether instances of the class respond to a given selector.
 
(bool) + conformsToProtocol:
 Checks whether the class conforms to a given protocol.
 
(nullable IMP+ instanceMethodForSelector:
 Returns the implementation of the instance method for the specified selector.
 
(nullable OFMethodSignature *) + instanceMethodSignatureForSelector:
 Returns the method signature of the instance method for the specified selector.
 
(OFString *) + description
 Returns a description for the class, which is usually the class name.
 
(nullable IMP+ replaceClassMethod:withMethodFromClass:
 Replaces a class method with a class method from another class.
 
(nullable IMP+ replaceInstanceMethod:withMethodFromClass:
 Replaces an instance method with an instance method from another class.
 
(void) + inheritMethodsFromClass:
 Adds all methods from the specified class to the class that is the receiver.
 
(bool) + resolveClassMethod:
 Try to resolve the specified class method.
 
(bool) + resolveInstanceMethod:
 Try to resolve the specified instance method.
 
(id) + copy
 Returns the class.
 

Properties

const void * pixels
 The raw pixels using the pixelFormat.
 
OFPixelFormat pixelFormat
 The pixel format used by the image.
 
OFSize size
 The size of the image in pixels.
 
OFColorSpacecolorSpace
 The color space of the image.
 
unsigned int bitsPerPixel
 The bits per pixel.
 
OFSize dotsPerInch
 The dots per inch of the image or (0, 0) if unknown.
 
- Properties inherited from OFObject
OFStringclassName
 The name of the object's class.
 
OFStringdescription
 A description for the object.
 

Detailed Description

A class representing an image.

Method Documentation

◆ colorAtPoint:

- (OFColor *) colorAtPoint: (OFPoint) point

Returns the color at the specified point.

If the point is non-integral, the weighted average of the neighboring pixels is returned.

Warning
This method is expensive! You should use pixels instead to get a buffer and use that instead.
Parameters
pointThe point whose color to return
Returns
The color for the specified point
Exceptions
OFOutOfRangeExceptionThe specified point is outside of the image's bounds

◆ imageUsingPixelFormat:colorSpace:

- (OFImage *) imageUsingPixelFormat: (OFPixelFormat) pixelFormat
colorSpace: (OFColorSpace *) colorSpace 

Returns the image as a new image in the specified pixel format and color space.

Parameters
pixelFormatThe pixel format for the new image
colorSpaceThe color space for the new image
Returns
The image as a new image in the specified pixel format and color space

◆ imageWithPixels:pixelFormat:size:

+ (instancetype) imageWithPixels: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size 

Creates a new image with the specified pixels in the specified pixel format and the specified size.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
Returns
A new image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ imageWithPixels:pixelFormat:size:colorSpace:

+ (instancetype) imageWithPixels: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
colorSpace: (OFColorSpace *) colorSpace 

Creates a new image with the specified pixels in the specified pixel format and the specified size in the specified color space.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
colorSpaceThe color space of the image
Returns
A new image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ imageWithPixelsNoCopy:pixelFormat:size:colorSpace:freeWhenDone:

+ (instancetype) imageWithPixelsNoCopy: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
colorSpace: (OFColorSpace *) colorSpace
freeWhenDone: (bool) freeWhenDone 

Creates a new image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer in the specified color space.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
colorSpaceThe color space of the image
freeWhenDoneWhether to free the pointer when it is no onger needed by the OFImage
Returns
A new image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ imageWithPixelsNoCopy:pixelFormat:size:freeWhenDone:

+ (instancetype) imageWithPixelsNoCopy: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
freeWhenDone: (bool) freeWhenDone 

Creates a new image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
freeWhenDoneWhether to free the pointer when it is no onger needed by the OFImage
Returns
A new image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ imageWithStream:imageFormat:

+ (OFMutableImage *) imageWithStream: (OFSeekableStream *) stream
imageFormat: (OFImageFormat) format 

Creates a new mutable image from the specified stream.

Parameters
streamThe stream to create the image from
formatThe image format of the stream
Returns
A new image
Exceptions
OFInvalidFormatExcepetionThe stream's format was invalid
OFTruncatedDataExceptionThe stream ended before all required data was read
OFOutOfRangeExceptionThe image read from the stream is too big for an OFImage
OFReadFailedExceptionReading from the stream failed
OFSeekFailedExceptionSeeking the stream failed
OFNotImplementedExceptionThere is no implementation for the specified format

◆ initWithPixels:pixelFormat:size:

- (instancetype) initWithPixels: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size 

Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
Returns
An initialized image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ initWithPixels:pixelFormat:size:colorSpace:

- (instancetype) initWithPixels: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
colorSpace: (OFColorSpace *) colorSpace 

Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size in the specified color space.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
colorSpaceThe color space of the image
Returns
An initialized image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ initWithPixelsNoCopy:pixelFormat:size:colorSpace:freeWhenDone:

- (instancetype) initWithPixelsNoCopy: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
colorSpace: (OFColorSpace *) colorSpace
freeWhenDone: (bool) freeWhenDone 

Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer in the specified color space.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
colorSpaceThe color space of the image
freeWhenDoneWhether to free the pointer when it is no onger needed by the OFImage
Returns
An initialized image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ initWithPixelsNoCopy:pixelFormat:size:freeWhenDone:

- (instancetype) initWithPixelsNoCopy: (const void *) pixels
pixelFormat: (OFPixelFormat) pixelFormat
size: (OFSize) size
freeWhenDone: (bool) freeWhenDone 

Initializes an already allocated image with the specified pixels in the specified pixel format and the specified size by taking over ownership of the specified pixels pointer.

Parameters
pixelsThe pixels for the new image
pixelFormatThe pixel format of the pixels for the new image
sizeThe size for the new image in pixels
freeWhenDoneWhether to free the pointer when it is no onger needed by the OFImage
Returns
An initialized image
Exceptions
OFInvalidArgumentExceptionThe specified size is not integral

◆ writeToStream:imageFormat:options:

- (void) writeToStream: (OFSeekableStream *) stream
imageFormat: (OFImageFormat) format
options: (nullable OFDictionary *) options 

Writes the image to the specified stream in the specified format.

Parameters
streamThe stream to write the image to
formatThe image format to use to write the image to the stream
optionsAdditional format-specific options to write the image to the stream
Exceptions
OFWriteFailedExceptionWriting to the stream failed
OFSeekFailedExceptionSeeking the stream failed
OFNotImplementedExceptionThere is no implementation for the specified format

Property Documentation

◆ colorSpace

- (OFColorSpace *) colorSpace
readnonatomicretain

The color space of the image.

Setting this property does not convert the image, but changes how the image is interpreted.


The documentation for this class was generated from the following files: