Table of Contents

Namespace LMKit.Media.Image

Classes

ImageBuffer

Represents an unmanaged image buffer for pixel data, providing high-performance methods to load, save, convert, and manipulate images. This type owns a native handle and must be disposed to release unmanaged resources.

ImageBuffer.ColorPalette

The colors an image is made of, largest share first, as produced by ExtractColorPalette(ColorPaletteOptions).

ImageBuffer.ColorPaletteOptions

The settings consumed by ExtractColorPalette(ColorPaletteOptions). Every value clamps silently to its valid range on assignment, so a UI control or a wire request can bind directly; the defaults describe a photograph or an illustration well and are what a caller with no opinion should use.

ImageBuffer.ColorSwatch

One color of a palette produced by ExtractColorPalette(ColorPaletteOptions): the color itself, how much of the image it covers, and the basic term that names it.

ImageBuffer.DeskewParameters

Parameters controlling deskew estimation and resampling quality.

ImageBuffer.DeskewResult

Result of a Deskew(DeskewParameters) operation.

ImageBuffer.DespeckleBitonalParameters

Controls which connected components are classified as speckle noise and removed by DespeckleBitonal(DespeckleBitonalParameters).

ImageBuffer.ImageEncoderOptions

The settings consumed by Encode(ImageOutputFormat, ImageEncoderOptions), Save(string, ImageEncoderOptions) and their siblings: the knobs of every encoder, the metadata families written back, and the colour space the samples are written in. A setting the chosen format has no use for is ignored, never an error; asking a format for a colour space it cannot hold (CMYK in PNG or WebP) throws. Values clamp silently to their valid range on assignment, so a UI control or a wire request can bind directly; the defaults describe a faithful re-encode.

ImageBuffer.ToneAdjustments

The settings consumed by AdjustTone(ToneAdjustments): the photographic adjustment set (exposure, brightness, contrast, highlights, shadows, saturation, sharpness). Every value is normalized to [-1, +1] (sharpness to [0, +1]) with 0 meaning "leave as is"; assignments outside the range clamp silently, so a UI slider can bind directly.

ImageFormats

Public registry of the image formats the toolkit knows: their file extensions and MIME types, backed by the toolkit's single internal format table. Use it to build hosts and clients that stay in lockstep with the toolkit as formats are added, instead of hardcoding extension or MIME lists that drift.

ImageRedactionArea

A rectangular region of one image page whose pixels must be covered with an opaque fill. The geometry is carried by an IBounds in image pixels with the origin at the top-left corner of the page, matching the geometry produced by OCR layouts and layout text elements. The area implements IBounds itself, so it can be passed anywhere a bounds is expected.

ImageRedactionOptions

Controls how ImageRedactor covers content. The defaults paint an opaque black box over each redacted area and strip every metadata block before re-encoding.

ImageRedactionReport

Describes what an image redaction pass covered and produced. Counters cover every page of the image.

ImageRedactionRequest

Describes what to redact in an image. Explicit page areas and text search terms can be combined in one request; everything matched is covered in a single pass.

ImageRedactionResult

Carries the outcome of an in-memory image redaction: the redacted image bytes and the report describing what was covered.

ImageRedactor

Permanently covers content in raster images. Redacted regions are painted with a fully opaque fill directly into the pixel data, and the image is re-encoded, so the covered pixels cannot be recovered from the output file. Metadata blocks (EXIF, XMP, textual entries), which routinely duplicate content being redacted, are stripped by default.

Enums

ImageColorTarget

The colour space an encoder writes its samples in (ColorTarget), or the space ConvertColorSpace(ImageColorTarget, IccProfile, RenderingIntent, bool) brings a buffer into. Conversions are colour-managed: the source is read through its embedded profile (sRGB when it has none) and mapped into the target profile with the chosen rendering intent.

ImageLook

A deterministic single-pass color grade applied by ApplyLook(ImageLook). Looks are exclusive by design: one look per pass, applied after any tonal adjustment so the grade lands on the corrected image.

ImageMetadataFamilies

The metadata families an image carries beside its pixels. A loaded image keeps every family its container held; an encode writes back the ones Metadata names, as far as the output container can hold them (PNG has no IPTC slot of its own, WebP has no IPTC, BMP, TGA and PNM carry nothing).

ImageOutputFormat

The image formats the toolkit ENCODES: the output side of Encode(ImageOutputFormat, ImageEncoderOptions) and Save(string, ImageOutputFormat, ImageEncoderOptions). The toolkit decodes more formats than it encodes (HEIC, AVIF, GIF, PSD, ...); this enum is the honest list of what it can write, and EncodableExtensions is the same list as file extensions.

ImagePixelFormat

Specifies the pixel formats supported by the LMKit media pipeline for image data. Format names encode total bits per pixel and the exact in-memory channel order.

JpegChromaSubsampling

How much colour detail a JPEG keeps relative to its brightness detail (ChromaSubsampling). The eye resolves brightness more finely than colour, so dropping chroma samples is the cheapest way to shrink a photograph; it costs sharpness on coloured edges, text and graphics.

TiffCompression

The codec a TIFF page is written with (TiffCompression). Every lossless choice keeps the samples exact; Jpeg is the one lossy choice and applies Quality.

Share