RaiImage 3.13.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package RaiImage --version 3.13.1
                    
NuGet\Install-Package RaiImage -Version 3.13.1
                    
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="3.13.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RaiImage" Version="3.13.1" />
                    
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 3.13.1
                    
#r "nuget: RaiImage, 3.13.1"
                    
#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@3.13.1
                    
#: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=3.13.1
                    
Install as a Cake Addin
#tool nuget:?package=RaiImage&version=3.13.1
                    
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.

3.13.1

  • Coordinated patch release: carries forward WordCase as the supported replacement for the retired CamelCase helper and aligns fallback package references on OsLibCore 3.13.1 and RaiUtils 3.13.1.
  • 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

<details> <summary>StringHelper: helper methods for title casing and word splitting.</summary>

  • StringHelper: ToTitle, WordSplit, CamelSplit </details>

<details> <summary>WordCase: converts between PascalCase, lower camelCase, snake_case, kebab-case, and token arrays.</summary>

  • WordCase: Array, String, PascalCase, LowerCamelCase, SnakeCase, KebabCase
  • The older CamelCase class is retired; use WordCase for new and migrated code. </details>

<details> <summary>ColorInfo: ImageMagick-compatible color descriptor with optional named-color lookup.</summary>

  • ColorInfo: Get, NamedColors, Code, Name, Count, Color </details>

<details> <summary>DyeDelta: snapshot of hue/brightness/saturation deltas between two colors.</summary>

  • DyeDelta: constructor-based delta capture for Phi, DeltaB, and DeltaS </details>

<details> <summary>Dye: color-wheel and brightness/saturation delta calculator.</summary>

  • Dye: Phi, DeltaB, DeltaSa, DeltaSb, DeltaS </details>

<details> <summary>Extensions and Size: image-size parser and size value helpers.</summary>

  • Extensions: Parse
  • Size: ToString, nosize, noSize, HSEmidsize, HSEfullsize </details>

<details> <summary>ImageNamingConvention and INamingConvention: file-name convention model for parsing and composition.</summary>

  • ImageNamingConvention: Legacy, ItemTemplate, Structured
  • INamingConvention: NamingConvention, ApplyNamingConvention </details>

<details> <summary>ImageFile: image filename parser/composer on top of RaiFile.</summary>

  • ImageFile: Sku, Color, ImageNumber, NameExt, TileTemplate, TileNumber, NameWithExtension, FullName, ShortName
  • ImageFile: ApplyNamingConvention, FromFile, BlankToCamelCase, EasyFileName, SetImageNumber, ExtendToFirstExistingFile </details>

<details> <summary>ItemTreePath: root path plus tree split convention for item-based directory partitioning.</summary>

  • ItemTreePath: Convention, RootPath, ItemId, Topdir, Subdir, TopdirRoot, SubdirRoot, Path, FullPath
  • ItemTreePath: ConventionSplit, ApplyPathConvention, ToString </details>

<details> <summary>ImageTreeFile: ImageFile variant with tree-based path partitioning.</summary>

  • 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. </details>

<details> <summary>ImageMagickCommand: typed CLI wrapper around ImageMagick subcommands.</summary>

  • ImageMagickCommand: CandidateExecutables, BuildArguments, RunSubcommand, RunSubcommandAsync </details>

<details> <summary>ImageMagick: facade for ImageMagick and related optimization tools.</summary>

  • ImageMagick: ImPath, MagickCommand, OptiPngCommand, JpegTranCommand, JpegTranOptions, Message
  • ImageMagick: Convert, Mogrify, Composite, Identify, EmptyForm, CreateHistogram, Histogram, OptiPng, JpegTran, GetSize, CreateTiles </details>

<details> <summary>PlantUmlCommand, PlantUml, and PlantUmlRenderResult: subscriber-aware PlantUML rendering support.</summary>

  • PlantUmlCommand: CandidateExecutables, BuildSvgArguments, RenderSvg, RenderSvgAsync
  • PlantUml: PlantUmlPath, CommandName, JavaCommand, Message, RenderSvg
  • PlantUmlRenderResult: Source, Svg </details>

<details> <summary>ImageTypes: parsed list of image extensions with a reusable default set.</summary>

  • ImageTypes: Default, Array, String </details>

<details> <summary>Pane: one WxH viewport value with string and Size conversions.</summary>

  • Pane: DefaultPane, String, Size </details>

<details> <summary>Panes: pair-like container for zoom/control pane definitions.</summary>

  • Panes: Count, String, indexer, ZoomPort, ControlPort </details>

<details> <summary>Src: parser for the src= parameter used in HDitem-style image URLs.</summary>

  • Src: HasMultipleSkus, Skus, Sku, Subscriber, ImageNumber, Image, ImageWithExtension, String, Param </details>

<details> <summary>Tmp: parser for the tmp= template/overlay parameter.</summary>

  • Tmp: Template, Overlays, String, Param </details>

<details> <summary>IservUrl: URI decomposition into protocol, host, app, page, and path components.</summary>

  • IservUrl: Subscriber, Protocol, Host, Port, Path, App, Page, Uri </details>

<details> <summary>ServiceUrl: service-oriented specialization layer on top of IservUrl.</summary>

  • ServiceUrl: init(Uri, bool) and inherited IservUrl decomposition members </details>

<details> <summary>ImageUrl: HDitem-aware image URL parser with Src and Tmp extraction.</summary>

  • ImageUrl: Src, Tmp, Url, isHDitemLink </details>

<details> <summary>TwoSizes: comparable pair of small/large sizes with a ranking score.</summary>

  • TwoSizes: Rating, SmallRect, LargeRect, CompareTo, Equals </details>

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 74 8/16/2026
4.1.0 98 8/13/2026
4.0.1 100 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 119 6/6/2026
3.8.15 129 6/6/2026
3.8.14 133 6/6/2026
3.8.12 117 6/6/2026
3.8.11 112 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

3.13.1 patch release: carries forward WordCase, refreshes the live diagrams, and aligns fallback dependencies to OsLibCore 3.13.1 and RaiUtils 3.13.1.