#[non_exhaustive]pub struct MoshCore {
pub data: MoshData,
pub options: MoshOptions,
}
Expand description
Core container.
Holds image data and processing options.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.data: MoshData
§options: MoshOptions
Implementations§
Source§impl MoshCore
impl MoshCore
Sourcepub fn read_image(&mut self, input: &[u8]) -> Result<(), MoshError>
pub fn read_image(&mut self, input: &[u8]) -> Result<(), MoshError>
Reads provided image for future processing.
§Errors
It may fail if an image is not a valid PNG file.
Sourcepub fn mosh(&mut self) -> Result<(), MoshError>
pub fn mosh(&mut self) -> Result<(), MoshError>
Processes an image with current settings, storing the result in a buffer.
§Errors
UnsupportedColorType
:Indexed
is not supported.
§Example
use libmosh::{
err::MoshError,
ops::{read_file, write_file},
MoshCore,
};
let input = read_file("tests/assets/test-rgb.png")?;
let output = "test.png";
let mut image = MoshCore::new();
image.options.min_rate = 5;
image.options.max_rate = 7;
image.options.pixelation = 10;
image.options.line_shift = 0.7;
image.options.reverse = 0.4;
image.options.flip = 0.3;
image.options.channel_swap = 0.5;
image.options.channel_shift = 0.5;
image.options.seed = 42;
image.read_image(&input)?;
image.mosh()?;
write_file(
output,
&image.data,
&image.options,
)?;
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MoshCore
impl RefUnwindSafe for MoshCore
impl Send for MoshCore
impl Sync for MoshCore
impl Unpin for MoshCore
impl UnwindSafe for MoshCore
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