RaiImage 3.8.7
dotnet add package RaiImage --version 3.8.7
NuGet\Install-Package RaiImage -Version 3.8.7
<PackageReference Include="RaiImage" Version="3.8.7" />
<PackageVersion Include="RaiImage" Version="3.8.7" />
<PackageReference Include="RaiImage" />
paket add RaiImage --version 3.8.7
#r "nuget: RaiImage, 3.8.7"
#:package RaiImage@3.8.7
#addin nuget:?package=RaiImage&version=3.8.7
#tool nuget:?package=RaiImage&version=3.8.7
RaiImage
Classes to manage image files in directory trees across local and cloud-backed folders on Windows, macOS, and Linux.
3.8.6
- Changes
ImageTreeFile.mkdir()from member hiding to a trueRaiFile.mkdir()override. - Aligns fallback package references with
OsLibCore 3.8.6andRaiUtils 3.8.6. - Keeps the current packaged cloud-provider claim of
OneDrive,GoogleDrive, 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
- Google Drive
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 camel-case splitting.</summary>
- StringHelper:
ToTitle,CamelSplit</details>
<details> <summary>CamelCase: converts between camel/pascal strings and token arrays.</summary>
- CamelCase:
Array,String</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, andDeltaS</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 - Split behavior is driven by
PathConventionType;Subdiris cumulative, for example3x3 => 123/123456and8x2 => 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>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 inheritedIservUrldecomposition 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
- 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: RELEASE_NOTES_3.8.6.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 (>= 3.8.1)
- RaiUtils (>= 3.8.1)
- System.Drawing.Common (>= 10.0.5)
- System.IO.FileSystem.AccessControl (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.8.7 | 84 | 5/16/2026 |
| 3.8.6 | 87 | 5/16/2026 |
| 3.8.3 | 84 | 5/16/2026 |
| 3.8.1 | 87 | 5/11/2026 |
| 3.8.0 | 89 | 5/10/2026 |
| 3.7.11 | 87 | 5/10/2026 |
| 3.7.9 | 87 | 5/10/2026 |
| 3.7.8 | 91 | 5/5/2026 |
| 3.7.7 | 86 | 5/1/2026 |
| 3.7.6 | 103 | 4/16/2026 |
| 3.7.5 | 99 | 4/14/2026 |
| 3.7.2 | 106 | 3/29/2026 |
| 3.7.1 | 107 | 3/29/2026 |
| 3.6.1 | 108 | 3/27/2026 |
| 3.5.2 | 107 | 3/22/2026 |
| 3.4.0 | 105 | 3/18/2026 |
| 3.2.0 | 111 | 3/10/2026 |
| 2.1.4 | 1,290 | 10/24/2019 |
| 2.1.3 | 1,078 | 10/23/2019 |
| 2.1.0 | 1,497 | 10/23/2019 |
3.8.1 release: changes ImageTreeFile.mkdir() from member hiding to a true RaiFile.mkdir() override so base-class write operations create image-tree directories correctly.