RaiImage 4.5.14

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

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.WordCase for 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, 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, SelectFiles, destination-oriented mv, 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; Subdir is cumulative, for example 3x3 => 123/123456 and 8x2 => 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, not ImageFile, while sharing the same subscriber root, item id, ItemTreePath, and PathConventionType placement as an ImageTreeFile.
  • A resolved PlantUML config uses NameExt = "config" and Ext = "puml", producing names such as ScheduleRehearsal_config.puml beside .raid, clean .puml, and rendered .svg artifacts.

ImageMagickCommand: typed CLI wrapper around ImageMagick subcommands.

  • ImageMagickCommand: CandidateExecutables, BuildArguments, RunSubcommand, RunSubcommandAsync
  • OptiPngCommand: BuildArguments, Optimize, OptimizeAsync
  • JpegTranCommand: BuildArguments, Transform, TransformAsync
  • 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 -config injection
  • PlantUML .jar commands run Java in headless mode for CI, server, and remote-terminal compatibility.
  • PlantUml: PlantUmlPath, CommandName, JavaCommand, Message, RenderSvg
  • PlantUmlRenderResult: compatibility Source/Config image-shaped handles, typed SourceArtifact/ConfigArtifact text files, and Svg; all use the same subscriber ItemTreePath

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

CR067: media-container recognition now includes video formats while image derivative handling remains still-only.