RaiImage 4.5.14
See the version list below for details.
dotnet add package RaiImage --version 4.5.14
NuGet\Install-Package RaiImage -Version 4.5.14
<PackageReference Include="RaiImage" Version="4.5.14" />
<PackageVersion Include="RaiImage" Version="4.5.14" />
<PackageReference Include="RaiImage" />
paket add RaiImage --version 4.5.14
#r "nuget: RaiImage, 4.5.14"
#:package RaiImage@4.5.14
#addin nuget:?package=RaiImage&version=4.5.14
#tool nuget:?package=RaiImage&version=4.5.14
RaiImage
4.5.14
CR067 adds a media-container registry for video ingestion while preserving still-image derivative behavior.
Latest release notes: RaiImage 4.5.14 release notes.
Previous Versions
For release notes and changelogs of earlier releases, see the RaiImage 4.x Release Notes.
Installation
.NET CLI
dotnet add package RaiImage --version 4.5.14
PackageReference
<PackageReference Include="RaiImage" Version="4.5.14" />
RaiImage manages image files in directory trees across local and cloud-backed folders on Windows, macOS, and Linux.
MediaTypes.Default also identifies the video containers accepted by
iorg organize: mp4, mov, webm, mkv, and avi, alongside the supported
still-image formats. MediaTypes.IsVideo distinguishes those containers from
stills. ImageTypes.Default remains the still-image set used for rendered
derivative handling; adding video ingestion does not make videos image
derivatives.
Structured filename compatibility (CR060)
CR060 retains intermediate numeric tokens: Customer-Order-Sheet-26-10.jpg
becomes base CustomerOrderSheet26, image number 10, and Structured filename
CustomerOrderSheet26_010.jpg. A single trailing number remains the sequence
number: Customer-Order-Sheet-26.jpg becomes CustomerOrderSheet_026.jpg. Separated uppercase words
are PascalCased: Order_SHEET_001.jpg becomes OrderSheet_001.jpg.
Structured numbers now use D3 minimum width; Legacy keeps D2. Existing two-digit
names still parse, but their recomposed Structured path changes. No stored files
are renamed automatically. Migrate existing paths and references together before
reimporting into an older tree. Values above 999 retain every digit; D3 does not
promise lexicographic ordering across the next width boundary. Numbered diagram siblings and ItemTreeTextFile also use D3 so source, manifest,
and SVG names stay aligned. Include these numbered paths in migration.
cloud storage compatibility
RaiImage is designed to work with OsLib cloud-root discovery and the current packaged support claim covers:
- Dropbox
- OneDrive
- GoogleDrive
- ICloudDrive
For cloud-root configuration and environment/setup details, see the OsLib cloud storage discovery guide and keep the same RAIkeep.json5 cloud-root contract across packages.
namespace
RaiImage
classes
StringHelper: deprecated binary compatibility facade for pre-4.2.6 static callers.
- Canonical extension methods now live in
RaiUtils.StringHelper. - The RaiImage facade methods are intentionally ordinary static methods, preventing duplicate extension discovery.
WordCase: deprecated binary compatibility facade over RaiUtils.WordCase.
- Use
RaiUtils.WordCasefor new and recompiled code.
ColorInfo: ImageMagick-compatible color descriptor with optional named-color lookup.
- ColorInfo:
Get,NamedColors,Code,Name,Count,Color
DyeDelta: snapshot of hue/brightness/saturation deltas between two colors.
- DyeDelta: constructor-based delta capture for
Phi,DeltaB, andDeltaS
Dye: color-wheel and brightness/saturation delta calculator.
- Dye:
Phi,DeltaB,DeltaSa,DeltaSb,DeltaS
Extensions and Size: image-size parser and size value helpers.
- Extensions:
Parse - Size:
ToString,nosize,noSize,HSEmidsize,HSEfullsize
ImageNamingConvention and INamingConvention: file-name convention model for parsing and composition.
- ImageNamingConvention:
Legacy,ItemTemplate,Structured - INamingConvention:
NamingConvention,ApplyNamingConvention
ImageFile: image filename parser/composer on top of RaiFile.
- ImageFile:
Sku,Color,ImageNumber,NameExt,TileTemplate,TileNumber,NameWithExtension,FullName,ShortName - ImageFile:
ApplyNamingConvention,FromFile,BlankToCamelCase,EasyFileName,SetImageNumber,ExtendToFirstExistingFile
ItemTreePath: root path plus tree split convention for item-based directory partitioning.
- ItemTreePath:
Convention,RootPath,ItemId,Topdir,Subdir,TopdirRoot,SubdirRoot,Path,FullPath - ItemTreePath:
ConventionSplit,ApplyPathConvention,SelectFiles, destination-orientedmv,PruneEmptyDirectories,ToString
ImageTreeFile: ImageFile variant with tree-based path partitioning.
- ImageTreeFile:
Convention,Topdir,Subdir,TopdirRoot,SubdirRoot - ImageTreeFile: ItemTreePath-aware constructors,
SelectFirstExistingFile,ApplyPathConvention,mkdir,CopyTo,MoveToTree,rmdir,RenderPlantUml - Split behavior is driven by
PathConventionType;Subdiris cumulative, for example3x3 => 123/123456and8x2 => 12345678/1234567890. See PATH_CONVENTION_SPLITTING.md.
ItemTreeTextFile: truthful text-file placement in an ItemTree bucket.
- ItemTreeTextFile:
SubscriberRoot,ItemPath,ItemId,NameExt,Convention,SubdirRoot,CreateSibling - It derives from OsLib
TextFile, notImageFile, while sharing the same subscriber root, item id,ItemTreePath, andPathConventionTypeplacement as anImageTreeFile. - A resolved PlantUML config uses
NameExt = "config"andExt = "puml", producing names such asScheduleRehearsal_config.pumlbeside.raid, clean.puml, and rendered.svgartifacts.
ImageMagickCommand: typed CLI wrapper around ImageMagick subcommands.
- ImageMagickCommand:
CandidateExecutables,BuildArguments,RunSubcommand,RunSubcommandAsync - OptiPngCommand:
BuildArguments,Optimize,OptimizeAsync - JpegTranCommand:
BuildArguments,Transform,TransformAsync
ImageMagick: facade for ImageMagick and related optimization tools.
- ImageMagick:
ImPath,MagickCommand,OptiPngCommand,JpegTranCommand,JpegTranOptions,Message; every external image-tool call delegates to its typed wrapper - ImageMagick:
Convert,Mogrify,Composite,Identify,EmptyForm,CreateHistogram,Histogram,OptiPng,JpegTran,GetSize,CreateTiles
PlantUmlCommand, PlantUml, and PlantUmlRenderResult: subscriber-aware PlantUML rendering support.
- PlantUmlCommand:
CandidateExecutables,BuildSvgArguments,RenderSvg,RenderSvgAsync, including optional-configinjection - PlantUML
.jarcommands run Java in headless mode for CI, server, and remote-terminal compatibility. - PlantUml:
PlantUmlPath,CommandName,JavaCommand,Message,RenderSvg - PlantUmlRenderResult: compatibility
Source/Configimage-shaped handles, typedSourceArtifact/ConfigArtifacttext files, andSvg; all use the same subscriberItemTreePath
ImageTypes: parsed list of image extensions with a reusable default set.
- ImageTypes:
Default,Array,String
Pane: one WxH viewport value with string and Size conversions.
- Pane:
DefaultPane,String,Size
Panes: pair-like container for zoom/control pane definitions.
- Panes:
Count,String, indexer,ZoomPort,ControlPort
Src: parser for the src= parameter used in HDitem-style image URLs.
- Src:
HasMultipleSkus,Skus,Sku,Subscriber,ImageNumber,Image,ImageWithExtension,String,Param
Tmp: parser for the tmp= template/overlay parameter.
- Tmp:
Template,Overlays,String,Param
IservUrl: URI decomposition into protocol, host, app, page, and path components.
- IservUrl:
Subscriber,Protocol,Host,Port,Path,App,Page,Uri
ServiceUrl: service-oriented specialization layer on top of IservUrl.
- ServiceUrl:
init(Uri, bool)and inheritedIservUrldecomposition members
ImageUrl: HDitem-aware image URL parser with Src and Tmp extraction.
- ImageUrl:
Src,Tmp,Url,isHDitemLink
TwoSizes: comparable pair of small/large sizes with a ranking score.
- TwoSizes:
Rating,SmallRect,LargeRect,CompareTo,Equals
example
var count = ImageTreeFile.MoveToTree(
fromDir: p["from"],
toDirRoot: p["to"],
splitMode: PathConventionType.ItemIdTree8x2,
filter: p["filter"],
remove: p["remove"]);
Console.WriteLine($"{count} files moved.");
nuget
https://www.nuget.org/packages/RaiImage/
diagram
- Class hierarchy: RaiImage-Hierarchy.puml | RaiImage-Type-Overview.svg
- Focused class diagram: RaiImageCD.puml | RaiImageCD.svg
- Supported operations use cases: RaiImage-Operations-UseCases.puml | RaiImageOperationsUseCases.svg
- Background removal activity: RaiImage-BackgroundRemoval-Activity.puml | RaiImageBackgroundRemovalActivity.svg
- Tiling activity: RaiImage-Tiling-Activity.puml | RaiImageTilingActivity.svg
- Optimization and recovery activity: RaiImage-Optimization-Activity.puml | RaiImageOptimizationActivity.svg
- CLI render (if PlantUML is installed):
plantuml RaiImage-Hierarchy.puml RaiImageCD.puml RaiImage-Operations-UseCases.puml RaiImage-BackgroundRemoval-Activity.puml RaiImage-Tiling-Activity.puml RaiImage-Optimization-Activity.puml
detailed api
- Path-convention splitting note: PATH_CONVENTION_SPLITTING.md
- Foldable class and method-level documentation: API.md
migration and release docs
- Migration guide: MIGRATION_3.2.0.md
- Architecture alignment: ARCHITECTURE-ALIGNMENT.md
- Testing guide: TESTING.md
| 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
- Newtonsoft.Json (>= 13.0.4)
- OsLibCore (>= 4.5.14)
- RaiUtils (>= 4.5.14)
- System.Drawing.Common (>= 10.0.5)
- System.IO.FileSystem.AccessControl (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RaiImage:
| Package | Downloads |
|---|---|
|
RaiDiagram
Agent-readable semantic diagrams, model reconciliation, and PlantUML rendering for RAIkeep. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.5.15 | 0 | 10/30/2026 |
| 4.5.14 | 118 | 10/26/2026 |
| 4.5.13 | 120 | 10/20/2026 |
| 4.5.12 | 106 | 10/19/2026 |
| 4.5.11 | 107 | 10/19/2026 |
| 4.5.10 | 110 | 10/12/2026 |
| 4.5.9 | 126 | 10/12/2026 |
| 4.5.8 | 122 | 10/10/2026 |
| 4.5.7 | 113 | 10/10/2026 |
| 4.5.6 | 127 | 10/9/2026 |
| 4.5.5 | 136 | 10/7/2026 |
| 4.5.4 | 124 | 10/3/2026 |
| 4.5.3 | 121 | 10/3/2026 |
| 4.5.2 | 126 | 10/3/2026 |
| 4.5.0 | 123 | 10/3/2026 |
| 4.4.6 | 127 | 10/2/2026 |
| 4.4.5 | 133 | 9/30/2026 |
| 4.4.4 | 127 | 9/29/2026 |
| 4.4.3 | 120 | 9/29/2026 |
| 4.4.2 | 122 | 9/27/2026 |
CR067: media-container recognition now includes video formats while image derivative handling remains still-only.