RaiImage 4.2.0
dotnet add package RaiImage --version 4.2.0
NuGet\Install-Package RaiImage -Version 4.2.0
<PackageReference Include="RaiImage" Version="4.2.0" />
<PackageVersion Include="RaiImage" Version="4.2.0" />
<PackageReference Include="RaiImage" />
paket add RaiImage --version 4.2.0
#r "nuget: RaiImage, 4.2.0"
#:package RaiImage@4.2.0
#addin nuget:?package=RaiImage&version=4.2.0
#tool nuget:?package=RaiImage&version=4.2.0
RaiImage
RaiImage change requests and release notes are centralized in the RAIkeep doc/ directory under RaiImage_... filenames; they are not stored separately in this child repository.
Classes to manage image files in directory trees across local and cloud-backed folders on Windows, macOS, and Linux.
4.2.0
- Aligns RaiImage with the seven-package RAIkeep release and provides RaiDiagram's supported PlantUML rendering boundary.
- Adds
RaiImageIOExceptionandRaiImageNotFoundExceptionfor image-domain failures. - Missing lookup directories throw
RaiPathNotFoundException; missing images in an existing location throwRaiImageNotFoundException. - Missing ImageMagick or PlantUML executables throw
ToolNotFoundException. - Image files accept
IAsyncEnumerable<byte[]>ingestion through the OsLib file boundary. - Refreshes the live hierarchy diagram so it no longer advertises the removed
CamelCasetype. ImageFile.EasyFileName(...)now converts separated and compact trailing digits intoImageNumberwhile keeping pure numeric names as item ids.WordCasenow preserves all-uppercase tokens in PascalCase output so names such asSD-State-Sony-149normalize as expected.- The structured-name flow now stays aligned with the
iorgCLI when it stages source images intoImageTreeFilelayouts. - Keeps the current packaged cloud-provider claim of
OneDrive,GoogleDrive,ICloudDrive, andDropbox. - This README is configured to ship inside the RaiImage NuGet package.
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: helper methods for title casing and word splitting.
- StringHelper:
ToTitle,WordSplit,CamelSplit
WordCase: converts between PascalCase, lower camelCase, snake_case, kebab-case, and token arrays.
- WordCase:
Array,String,PascalCase,LowerCamelCase,SnakeCase,KebabCase - The older
CamelCaseclass is retired; useWordCasefor new and migrated 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,ToString
ImageTreeFile: ImageFile variant with tree-based path partitioning.
- ImageTreeFile:
Convention,Topdir,Subdir,TopdirRoot,SubdirRoot - ImageTreeFile:
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.
ImageMagickCommand: typed CLI wrapper around ImageMagick subcommands.
- ImageMagickCommand:
CandidateExecutables,BuildArguments,RunSubcommand,RunSubcommandAsync
ImageMagick: facade for ImageMagick and related optimization tools.
- ImageMagick:
ImPath,MagickCommand,OptiPngCommand,JpegTranCommand,JpegTranOptions,Message - 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 - PlantUml:
PlantUmlPath,CommandName,JavaCommand,Message,RenderSvg - PlantUmlRenderResult:
Source,Svg
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
- Release notes: RaiImage_RELEASE_NOTES_4.2.0.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.2.0)
- RaiUtils (>= 4.2.0)
- 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.2.0 | 64 | 8/16/2026 |
| 4.1.0 | 89 | 8/13/2026 |
| 4.0.1 | 92 | 8/11/2026 |
| 4.0.0 | 115 | 8/7/2026 |
| 3.13.1 | 114 | 8/3/2026 |
| 3.11.4 | 127 | 7/11/2026 |
| 3.11.3 | 124 | 6/28/2026 |
| 3.11.1 | 160 | 6/24/2026 |
| 3.10.4 | 119 | 6/19/2026 |
| 3.10.2 | 145 | 6/18/2026 |
| 3.9.1 | 123 | 6/8/2026 |
| 3.9.0 | 118 | 6/6/2026 |
| 3.8.15 | 129 | 6/6/2026 |
| 3.8.14 | 133 | 6/6/2026 |
| 3.8.12 | 116 | 6/6/2026 |
| 3.8.11 | 111 | 6/5/2026 |
| 3.8.7 | 113 | 5/16/2026 |
| 3.8.6 | 110 | 5/16/2026 |
| 3.8.3 | 105 | 5/16/2026 |
| 3.8.1 | 108 | 5/11/2026 |
4.2.0 aligns RaiImage with the seven-package RAIkeep release and supplies the rendering boundary used by RaiDiagram.