PTColorPt
@interface PTColorPt : NSObject
ColorPt is an array of colorants (or tint values) representing a color point in an associated color space.
-
Constructor
Note
All colorants should be in the range [0..1], so colors in the range [0..255] should be divided by 255.0 first.Declaration
Objective-C
- (instancetype)initWithX:(double)x y:(double)y z:(double)z w:(double)w;
Swift
init!(x: Double, y: Double, z: Double, w: Double)
Parameters
x
initialized value of first color value (eg. red for rgb colorspace);
y
initialized value of second color value (eg. green for rgb colorspace);
z
initialized value of third color value (eg. blue for rgb colorspace);
w
initialized value of fourth color value (eg. when using CMYK);
-
Undocumented
Declaration
Objective-C
- (BOOL)isEqualTo: (PTColorPt*)co;
Swift
func isEqual(to co: PTColorPt!) -> Bool
-
A utility method to set the first 4 tint values. For example, color.Set(red, green, blue) will initialize the ColorPt to given tint values.
Note
color.Set(gray) is equivalent to Set(0, gray);Note
All colorants should be in the range [0..1], so colors in the range [0..255] should be divided by 255.0 first.Declaration
Objective-C
- (void)Set:(double)x y:(double)y z:(double)z w:(double)w;
Swift
func set(_ x: Double, y: Double, z: Double, w: Double)
Parameters
x
initialized value of first color value (eg. red for rgb colorspace);
y
initialized value of second color value (eg. green for rgb colorspace);
z
initialized value of third color value (eg. blue for rgb colorspace);
w
initialized value of fourth color value (eg. when using CMYK);
-
Sets a tint value at a given colorant index.
For example, the following snippet will initialize the color point to [red, green, blue]:
color.SetColorantNum(3); color.Set(0, red); color.Set(1, green); color.Set(2, blue);
The above code snippet is equivalent to the following line: color.Set(red, green, blue)
Note
If a color point has more than 4 colorants, SetColorantNum(num_colorants) must be called before getting or setting tint values.Note
All colorants should be in the range [0..1], so colors in the range [0..255] should be divided by 255.0 first.Declaration
Objective-C
- (void)SetTintWithIndex:(int)colorant_index colorant_value:(double)colorant_value;
Swift
func setTintWith(_ colorant_index: Int32, colorant_value: Double)
Parameters
colorant_index
the color index. For example, for a color point associated with a Gray color space the only allowed value for index is 0. For a color point associated with a CMYK color space, the color_index can range from 0 (cyan) to 4 (black).
colorant_value
The new tint value.
-
The number of colorants depends on the associated color space. To find how many colorant are associated with a given color space use color_space.GetComponentNum().
For example, if you have a color point in the RGB color space you can extract its colorants as follows:
UInt8 rgb[3] = ;;
Declaration
Objective-C
- (double)Get:(int)colorant_index;
Swift
func get(_ colorant_index: Int32) -> Double
Parameters
colorant_index
number representing the index of the color space to get the tint from
Return Value
the tint value at a given colorant index.
-
If a color point has more than 4 colorants, SetColorantNum(num_colorants) must be called before getting or setting tint values. The number of colorants depends on the associated color space. To find how many colorant are associated with a given color space use color_space.GetComponentNum().
Declaration
Objective-C
- (void)SetColorantNum:(int)num;
Swift
func setColorantNum(_ num: Int32)
-
Returns the
UIColor
value for thisPTColorPt
with the specified color component count.Declaration
Objective-C
- (nullable UIColor *)UIColorValueWithComponentCount:(int)componentCount;
Swift
func uiColorValue(withComponentCount componentCount: Int32) -> UIColor?
Parameters
componentCount
The number of color components in this
PTColorPt
Return Value
the
UIColor
value for thisPTColorPt
, ornil
if the color could not be converted -
Returns the equivalent
UIColor
value for the givenPTColorPt
and color component count.Declaration
Objective-C
+ (nullable UIColor *)UIColorForColorPt:(nonnull PTColorPt *)colorPt withComponentCount:(int)componentCount;
Swift
class func uiColor(for colorPt: PTColorPt, withComponentCount componentCount: Int32) -> UIColor?
Parameters
colorPt
The
PTColorPt
to be convertedcomponentCount
The number of color components in the
colorPt
parameterReturn Value
the
UIColor
value for thePTColorPt
, ornil
if the color could not be converted -
Creates a new
PTColorPt
instance from the givenUIColor
.Declaration
Objective-C
+ (nullable instancetype)colorFromUIColor:(nonnull UIColor *)uiColor componentCount:(nonnull int *)componentCount;
Swift
class func color(from uiColor: UIColor, componentCount: UnsafeMutablePointer<Int32>) -> Self?
Parameters
uiColor
The
UIColor
from which to create aPTColorPt
representationcomponentCount
On output, this parameter contains the number of color components in the returned
PTColorPt
. On error, this parameter is invalid.Return Value
a new
PTColorPt
instance from the givenUIColor
. ThecomponentCount
parameter contains the number of color components in the returnedPTColorPt
. If an error occurred during the conversion or theUIColor
could not be represented as aPTColorPt
, then the returned value isnil
and thecomponentCount
parameter is invalid.