51 releases
0.4.43 | May 18, 2024 |
---|---|
0.4.41 | Mar 12, 2024 |
0.4.30 | Dec 7, 2023 |
0.4.28 | Nov 23, 2023 |
#377 in Images
39 downloads per month
Used in 4 crates
195KB
4K
SLoC
fimg
quick simple image operations
supported operations
- overlay
- rotation
- flipping
- image tiling
- image scaling
- triangle drawing
- line drawing
- box drawing
- polygon drawing
- circle drawing
- text drawing
- blur
lib.rs
:
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 aImageCloner
: This is... aImage
, but about to be cloned. It just allows some simple out-of-place optimizations, that.clone().op()
dont allow. (produce withImage::cloner
)uninit::Image
: A uninitialized image. Used for performance optimization.
Operations
Affine:
Drawing:
Image::box
,Image::filled_box
,Image::stroked_box
Image::circle
,Image::border_circle
Image::line
,Image::thick_line
Image::points
Image::quad
Image::poly
,Image::border_poly
Image::tri
Image::text
Scaling: Image::scale
Misc image ops:
feature flags
scale
: enables thescale
module.save
: enablesImage::save
, via thepng
crate.text
: enablesImage::text
, via thefontdue
crate.blur
: enablesImage::blur
, via thestackblur
crate.real-show
:Image::show
, if thesave
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 thereal-show
feature to makeImage::show
open up a window of its own. without thereal-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
].
Dependencies
~0.2–46MB
~743K SLoC