RecursiveAI.OneImage
1.4.0
See the version list below for details.
dotnet add package RecursiveAI.OneImage --version 1.4.0
NuGet\Install-Package RecursiveAI.OneImage -Version 1.4.0
<PackageReference Include="RecursiveAI.OneImage" Version="1.4.0" />
<PackageVersion Include="RecursiveAI.OneImage" Version="1.4.0" />
<PackageReference Include="RecursiveAI.OneImage" />
paket add RecursiveAI.OneImage --version 1.4.0
#r "nuget: RecursiveAI.OneImage, 1.4.0"
#:package RecursiveAI.OneImage@1.4.0
#addin nuget:?package=RecursiveAI.OneImage&version=1.4.0
#tool nuget:?package=RecursiveAI.OneImage&version=1.4.0
OneImage
A pure-managed .NET image library: one-line thumbnails, crops and
conversions, and lazy, tiled, streaming load, edit and render on the
same engine. PNG, JPEG, WebP, GIF, TIFF, BMP and ICO, with ICC color
management. Pure C# with no dependency beyond .NET itself; untrusted
files are read through bounds-checked managed code. It also includes
vector drawing and a layered document model (OneImage.Layers: pixel,
group, fill and adjustment layers, masks, clipping and blend modes,
rendered on demand).
How many times faster OneImage is than ImageSharp 3.1.12 on each benchmark task (log scale, higher is better; slower tasks and ties are marked):
Full results, with memory, the losses and the method
Install
dotnet add package RecursiveAI.OneImage
The package is RecursiveAI.OneImage; the namespace is OneImage
(using OneImage;).
Target framework net10.0.
Quick start
using OneImage;
// A 400 px wide thumbnail, upright, in sRGB, without EXIF/GPS, written as WebP.
Image.Thumbnail("in.jpg", 400).Save("thumb.webp");
// Load, edit, save. Nothing is decoded until Save.
Image.Load("in.jpg")
.Resize(width: 1200)
.Rotate(90)
.Save("out.png");
// Format and quality.
Image.Load("in.png").Save("out.jpg", new SaveOptions { EncoderOptions = new JpegEncoderOptions { Quality = 85 } });
The format of Save follows the file extension. For streams and buffer
writers, name it: image.Save(stream, PngFormat.Instance).
Learn more
- Guide: the lazy model, errors, operations,
Canvas, metadata, color, animation, limits, AOT and trimming. - Layers: layered documents that render on demand, with
incremental re-rendering and an optional disk-spill store. Photoshop files
load into them through the separate
RecursiveAI.OneImage.Psdpackage (PSD page). - Migrating from ImageSharp and System.Drawing
- How OneImage compares, including where the others are the better fit
- Benchmarks and the method
- Changelog and security policy
License
Licensed under either of MIT or Apache-2.0 at your option.
Copyright (c) Recursive AI, LLC.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on RecursiveAI.OneImage:
| Package | Downloads |
|---|---|
|
RecursiveAI.OneImage.Web
ASP.NET Core middleware for on-the-fly image processing and caching: resize, crop, convert and recompress images through URL commands, with a disk cache, conditional requests, signed URLs and request limits. Built on the OneImage library. |
|
|
RecursiveAI.OneImage.Text
Fonts and text for OneImage: loads TrueType, OpenType (CFF), TrueType Collection, WOFF and WOFF2 fonts, measures and lays out text, and draws it onto images and canvases through the vector drawing layer. |
|
|
RecursiveAI.OneImage.Psd
Photoshop PSD and PSB support for OneImage: reads the merged composite as an image format, loads and saves the layer tree as a OneImage layered document. |
|
|
RecursiveAI.OneImage.Svg
SVG support for OneImage: reads static SVG (shapes, paths, gradients, patterns, clipping, masks, markers, filters and text) as an image format, rendered directly at the requested output size. |
GitHub repositories
This package is not used by any popular GitHub repositories.
See CHANGELOG.md in the repository.