Guides
Each guide covers one area of Egami: what it does, the options and their defaults, and the limits. Many guides end with Recipes, short answers to common tasks such as making a favicon or blurring a face, with code you can copy. Every code sample compiles and runs in Egami's test run.
The guides are grouped by package, and within Egami the groups go from the basics to the specialized. Within a group, pages are in alphabetical order. Each file format has its own page in Formats. If you are new, read Getting started first.
Egami: basics
What every user meets: pixel types, metadata, and how Egami uses memory and handles untrusted files.
- Benchmarks: Egami's speed next to ImageSharp, SkiaSharp and Magick.NET.
- Diagnostics: warnings about damaged or unusual files, and how to log or reject them.
- Memory and threading: pooled memory, streaming decode and parallel work.
- Metadata: EXIF, IPTC and XMP, kept, edited or stripped.
- Performance: what keeps loading, editing and saving fast.
- Pixel types: how pixels are stored, and which type to pick.
- Security: the limits that make untrusted files safe to load.
Formats
The overview says what each format reads and writes and how a format is detected; then one page per format, with its options:
- AVIF
- BMP
- CCITT fax
- GIF
- HEIC (in the Egami.Heic package)
- ICO and CUR
- JBIG2
- JPEG
- JPEG 2000
- JPEG XL
- Netpbm
- OpenEXR
- PNG and APNG
- PSD and PSB
- QOI
- Radiance
- TGA
- TIFF
- VP8 video frames
- WebP
- Your own format: plug in a reader and writer for a format Egami does not have
Egami: editing images
Operations that run on a raster through Apply and Derive.
- Color: brightness, contrast, saturation and other CSS-style color filters.
- Compositing: blend modes and drawing one image over another.
- Edges and morphology: edge detection, Canny, and dilate, erode, open and close.
- Effects and shadows: vignette, glow, pixelate, oil paint and shadows.
- Filters: blurs, sharpening, convolution, noise and median.
- Keying and arithmetic: transparent colors, flood fill and arithmetic between images.
- Lighting and relief: bevels, embossing and lighting from a height map.
- Regions, masks and channels: edit part of an image, and move channels around.
- Resizing and geometry: resize, crop, rotate, warp and combine images.
- Tone and color: levels, curves, grading, auto fixes and thresholds.
Egami: color and HDR
- Color management: ICC profiles, converting between color spaces, CMYK.
- HDR images: HDR pixels, gain maps and Ultra HDR photos.
- Planar YUV: video-style YUV planes in and out of JPEG, AVIF and video frames.
Egami: analysis, palettes and animation
- Animation: frames, timing and animated GIF, APNG and WebP.
- Comparing and measuring: differences, statistics, hashes and visual regression tests.
- Palettes and dithering: reducing colors and indexed images.
- Text recognition (OCR): one shape for every OCR engine, any OCR program as an engine, and hOCR and ALTO files.
Egami: extending
- Custom operations and formats: write your own operation or pixel type, or wrap your own memory.
Egami.Drawing
- Drawing: paths, shapes, strokes, paints, layers and recorded drawings on a canvas.
- Drawing files (.egdr): the file format for recorded drawings.
Egami.Fonts
- Fonts and text: loading fonts, drawing text and preparing fonts for PDF.
- Paragraph layout: line breaking, justification, columns and vertical text.
- Unicode text and shaping: complex scripts, bidirectional text and emoji.
- Matching System.Drawing: drawing UI text, shapes, gradients and scaled images as GDI+ and GDI do on Windows.
Egami.Svg and Egami.Css
Egami.Metafiles
- Windows metafiles: play WMF, EMF and EMF+ pictures onto a canvas.
Egami.Formats.Extended
- Developing camera RAW: develop DNG and maker RAW files: what to load, white balance, exposure and contrast, noise, lenses and batches.
- Textures: read and write DDS textures: block formats, mips, cube maps, normal maps and HDR.
Egami.SystemDrawing
- Migrating from System.Drawing to Egami: move drop-in code to Egami's own API one piece at a time.
- System.Drawing drop-in: System.Drawing's API on every OS: bitmaps, codecs, Graphics, fonts and text.
Egami.Video
- Video: probe, read, write and remux video, with Egami rasters as frames.
- Streaming MP4: fragmented MP4 for forward-only streams, and HLS and DASH segments.
- Audio: decode, encode, resample and mix audio.
- Encoding Opus: Opus files, settings and WebM audio.
- Subtitles: read, edit, retime and convert SRT, WebVTT and ASS subtitle files.
Egami.Barcodes
- Barcodes: write 1D and 2D barcodes.
- Reading barcodes: find and decode barcodes in images.