RaiImage 4.2.0

dotnet add package RaiImage --version 4.2.0
                    
NuGet\Install-Package RaiImage -Version 4.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RaiImage" Version="4.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RaiImage" Version="4.2.0" />
                    
Directory.Packages.props
<PackageReference Include="RaiImage" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RaiImage --version 4.2.0
                    
#r "nuget: RaiImage, 4.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RaiImage@4.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RaiImage&version=4.2.0
                    
Install as a Cake Addin
#tool nuget:?package=RaiImage&version=4.2.0
                    
Install as a Cake Tool

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 RaiImageIOException and RaiImageNotFoundException for image-domain failures.
  • Missing lookup directories throw RaiPathNotFoundException; missing images in an existing location throw RaiImageNotFoundException.
  • 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 CamelCase type.
  • ImageFile.EasyFileName(...) now converts separated and compact trailing digits into ImageNumber while keeping pure numeric names as item ids.
  • WordCase now preserves all-uppercase tokens in PascalCase output so names such as SD-State-Sony-149 normalize as expected.
  • The structured-name flow now stays aligned with the iorg CLI when it stages source images into ImageTreeFile layouts.
  • Keeps the current packaged cloud-provider claim of OneDrive, GoogleDrive, ICloudDrive, and Dropbox.
  • 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 CamelCase class is retired; use WordCase for 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, and DeltaS

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; Subdir is cumulative, for example 3x3 => 123/123456 and 8x2 => 12345678/1234567890. See PATH_CONVENTION_SPLITTING.md.

ImageMagickCommand: typed CLI wrapper around ImageMagick subcommands.

  • ImageMagickCommand: CandidateExecutables, BuildArguments, RunSubcommand, RunSubcommandAsync
  • 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 inherited IservUrl decomposition 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

detailed api

migration and release docs

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed

4.2.0 aligns RaiImage with the seven-package RAIkeep release and supplies the rendering boundary used by RaiDiagram.