#[repr(C)]pub struct Jzazbz {
pub jz: f32,
pub az: f32,
pub bz: f32,
pub display_luminance: f32,
}Expand description
Represents Jzazbz
Fields§
§jz: f32Jz(lightness) generally expects to be between [0;1]
az: f32Az generally expects to be between [-0.5;0.5]
bz: f32Bz generally expects to be between [-0.5;0.5]
display_luminance: f32Display luminance, default 200 nits
Implementations§
Source§impl Jzazbz
impl Jzazbz
Sourcepub fn new_with_luminance(
jz: f32,
az: f32,
bz: f32,
display_luminance: f32,
) -> Jzazbz
pub fn new_with_luminance( jz: f32, az: f32, bz: f32, display_luminance: f32, ) -> Jzazbz
Constructs new instance
pub fn from_xyz(xyz: Xyz) -> Jzazbz
pub fn from_xyz_with_display_luminance( xyz: Xyz, display_luminance: f32, ) -> Jzazbz
Sourcepub fn from_rgb(rgb: Rgb<u8>, transfer_function: TransferFunction) -> Jzazbz
pub fn from_rgb(rgb: Rgb<u8>, transfer_function: TransferFunction) -> Jzazbz
Converts Rgb to Jzazbz Here is display luminance always considered as 200 nits
§Arguments
transfer_function - transfer function into linear color space and it’s inverse
Sourcepub fn from_rgb_with_luminance(
rgb: Rgb<u8>,
display_luminance: f32,
transfer_function: TransferFunction,
) -> Jzazbz
pub fn from_rgb_with_luminance( rgb: Rgb<u8>, display_luminance: f32, transfer_function: TransferFunction, ) -> Jzazbz
Converts Rgb to Jzazbz
§Arguments
transfer_function - transfer function into linear color space and it’s inverse
display_luminance - display luminance
Sourcepub fn to_linear_rgb(&self) -> Rgb<f32>
pub fn to_linear_rgb(&self) -> Rgb<f32>
Converts to Linear RGB
Sourcepub fn to_rgb(&self, transfer_function: TransferFunction) -> Rgb<u8>
pub fn to_rgb(&self, transfer_function: TransferFunction) -> Rgb<u8>
Converts Linear to RGB with requested transfer function
Trait Implementations§
Source§impl AddAssign<f32> for Jzazbz
impl AddAssign<f32> for Jzazbz
Source§fn add_assign(&mut self, rhs: f32)
fn add_assign(&mut self, rhs: f32)
Performs the
+= operation. Read moreSource§impl AddAssign for Jzazbz
impl AddAssign for Jzazbz
Source§fn add_assign(&mut self, rhs: Jzazbz)
fn add_assign(&mut self, rhs: Jzazbz)
Performs the
+= operation. Read moreSource§impl DivAssign<f32> for Jzazbz
impl DivAssign<f32> for Jzazbz
Source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
Performs the
/= operation. Read moreSource§impl DivAssign for Jzazbz
impl DivAssign for Jzazbz
Source§fn div_assign(&mut self, rhs: Jzazbz)
fn div_assign(&mut self, rhs: Jzazbz)
Performs the
/= operation. Read moreSource§impl EuclideanDistance for Jzazbz
impl EuclideanDistance for Jzazbz
fn euclidean_distance(&self, other: Self) -> f32
Source§impl MulAssign<f32> for Jzazbz
impl MulAssign<f32> for Jzazbz
Source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
Performs the
*= operation. Read moreSource§impl MulAssign for Jzazbz
impl MulAssign for Jzazbz
Source§fn mul_assign(&mut self, rhs: Jzazbz)
fn mul_assign(&mut self, rhs: Jzazbz)
Performs the
*= operation. Read moreSource§impl PartialOrd for Jzazbz
impl PartialOrd for Jzazbz
Source§impl SubAssign<f32> for Jzazbz
impl SubAssign<f32> for Jzazbz
Source§fn sub_assign(&mut self, rhs: f32)
fn sub_assign(&mut self, rhs: f32)
Performs the
-= operation. Read moreSource§impl SubAssign for Jzazbz
impl SubAssign for Jzazbz
Source§fn sub_assign(&mut self, rhs: Jzazbz)
fn sub_assign(&mut self, rhs: Jzazbz)
Performs the
-= operation. Read moreSource§impl TaxicabDistance for Jzazbz
impl TaxicabDistance for Jzazbz
fn taxicab_distance(&self, other: Self) -> f32
impl Copy for Jzazbz
impl StructuralPartialEq for Jzazbz
Auto Trait Implementations§
impl Freeze for Jzazbz
impl RefUnwindSafe for Jzazbz
impl Send for Jzazbz
impl Sync for Jzazbz
impl Unpin for Jzazbz
impl UnwindSafe for Jzazbz
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more