Enum gdk_pixbuf::InterpType
source · #[non_exhaustive]pub enum InterpType {
Nearest,
Tiles,
Bilinear,
Hyper,
}
Expand description
Interpolation modes for scaling functions.
The GDK_INTERP_NEAREST
mode is the fastest scaling method, but has
horrible quality when scaling down; GDK_INTERP_BILINEAR
is the best
choice if you aren’t sure what to choose, it has a good speed/quality
balance.
Note: Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Nearest
Nearest neighbor sampling; this is the fastest and lowest quality mode. Quality is normally unacceptable when scaling down, but may be OK when scaling up.
Tiles
This is an accurate simulation of the PostScript image operator without any interpolation enabled. Each pixel is rendered as a tiny parallelogram of solid color, the edges of which are implemented with antialiasing. It resembles nearest neighbor for enlargement, and bilinear for reduction.
Bilinear
Best quality/speed balance; use this mode by default. Bilinear interpolation. For enlargement, it is equivalent to point-sampling the ideal bilinear-interpolated image. For reduction, it is equivalent to laying down small tiles and integrating over the coverage area.
Hyper
This is the slowest and highest quality reconstruction function. It is derived from the hyperbolic filters in Wolberg’s “Digital Image Warping”, and is formally defined as the hyperbolic-filter sampling the ideal hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping). Deprecated: this interpolation filter is deprecated, as in reality it has a lower quality than the @GDK_INTERP_BILINEAR filter (Since: 2.38)
Trait Implementations§
source§impl Clone for InterpType
impl Clone for InterpType
source§fn clone(&self) -> InterpType
fn clone(&self) -> InterpType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InterpType
impl Debug for InterpType
source§impl Display for InterpType
impl Display for InterpType
source§impl<'a> FromValue<'a> for InterpType
impl<'a> FromValue<'a> for InterpType
§type Checker = GenericValueTypeChecker<InterpType>
type Checker = GenericValueTypeChecker<InterpType>
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moresource§impl Hash for InterpType
impl Hash for InterpType
source§impl Ord for InterpType
impl Ord for InterpType
source§fn cmp(&self, other: &InterpType) -> Ordering
fn cmp(&self, other: &InterpType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<InterpType> for InterpType
impl PartialEq<InterpType> for InterpType
source§fn eq(&self, other: &InterpType) -> bool
fn eq(&self, other: &InterpType) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<InterpType> for InterpType
impl PartialOrd<InterpType> for InterpType
source§fn partial_cmp(&self, other: &InterpType) -> Option<Ordering>
fn partial_cmp(&self, other: &InterpType) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for InterpType
impl StaticType for InterpType
source§fn static_type() -> Type
fn static_type() -> Type
Self
.source§impl ToValue for InterpType
impl ToValue for InterpType
source§impl ValueType for InterpType
impl ValueType for InterpType
§type Type = InterpType
type Type = InterpType
Type
from. Read moreimpl Copy for InterpType
impl Eq for InterpType
impl StructuralEq for InterpType
impl StructuralPartialEq for InterpType
Auto Trait Implementations§
impl RefUnwindSafe for InterpType
impl Send for InterpType
impl Sync for InterpType
impl Unpin for InterpType
impl UnwindSafe for InterpType
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
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToClosureReturnValue for Twhere
T: ToValue,
impl<T> ToClosureReturnValue for Twhere T: ToValue,
fn to_closure_return_value(&self) -> Option<Value>
source§impl<T> ToSendValue for Twhere
T: Send + ToValue + ?Sized,
impl<T> ToSendValue for Twhere T: Send + ToValue + ?Sized,
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.