Crate fimg

Crate fimg 

Source
Expand description

§fimg

Provides fast image operations, such as rotation, flipping, and overlaying.

§Organization

Image types:

  • Image: the main image type.
  • DynImage: This is the image type you use when, say, loading a png. You should immediately convert this into a
  • ImageCloner: This is… a Image, but about to be cloned. It just allows some simple out-of-place optimizations, that .clone().op() dont allow. (produce with Image::cloner)
  • uninit::Image: A uninitialized image. Used for performance optimization.

§Operations

Affine:

Drawing:

Scaling: Image::scale

Misc image ops:

§feature flags

  • scale: enables the scale module.
  • save: enables Image::save, via the png crate.
  • text: enables Image::text, via the fontdue crate.
  • blur: enables Image::blur, via the stackblur crate.
  • real-show: Image::show, if the save feature is enabled, will, by default, simply open the appropriate image viewing program. if, for some reason, this is inadequate/you dont have a good image viewer, enable the real-show feature to make Image::show open up a window of its own. without the real-show feature, Image::show will save itself to your temp directory, which you may not want.
  • term: term::print. this enables printing images directly to the terminal, if you don’t want to open a window or something. supports {iterm2, kitty, sixel, fallback} graphics.
  • default: [save, scale].

Modules§

builder
safe builder for the image
indexed
indexed images! whoo! (palette and Image<[u8], 1>, basically.)
pixels
module for pixels ops.
scalescale
holds scaling operations.
termterm
terminal outputs produces output for any terminal supporting one of the
uninit
the houser of uninitialized memory. €$@!0В𴬔!℡

Macros§

make
Create a Image<[u8; N], C> with ease. If your looking for a Image<&’static [u8]>, try Image::make.

Structs§

Image
A image with a variable number of channels, and a nonzero size.
ImageCloner
A neat way to clone a image.
SubImage
A smaller part of a larger image.

Enums§

DynImage
Dynamic image. Can be any of {Y8, YA8, RGB8, RGB16}.

Traits§

BlendingOverlay
This blends the images together, like imageops::overlay.
BlendingOverlayAt
Blending overlay at.
ClonerOverlay
Overlay but owned
ClonerOverlayAt
OverlayAt but owned
Cropper
Trait for cropping a image.
Overlay
Trait for layering images ontop of each other. Think magick a b -layers flatten a
OverlayAt
Trait for layering a image ontop of another, with a offset to the second image.
Pack
packs and unpacks this pixel note that unpack(pack(p)) may not equal p
ReadPngsave
Read png.
WritePngsave
Write a png image.