ChromaFx.Processing
0.4.0-beta.33
dotnet add package ChromaFx.Processing --version 0.4.0-beta.33
NuGet\Install-Package ChromaFx.Processing -Version 0.4.0-beta.33
<PackageReference Include="ChromaFx.Processing" Version="0.4.0-beta.33" />
<PackageVersion Include="ChromaFx.Processing" Version="0.4.0-beta.33" />
<PackageReference Include="ChromaFx.Processing" />
paket add ChromaFx.Processing --version 0.4.0-beta.33
#r "nuget: ChromaFx.Processing, 0.4.0-beta.33"
#:package ChromaFx.Processing@0.4.0-beta.33
#addin nuget:?package=ChromaFx.Processing&version=0.4.0-beta.33&prerelease
#tool nuget:?package=ChromaFx.Processing&version=0.4.0-beta.33&prerelease
Modern, high-performance .NET image processing and drawing library.
Key points:
- Pure C#, zero dependency implementation
- Image encoding/decoding (PNG, JPEG, GIF, BMP)
- Drawing primitives and effects
- Pipeline-friendly API for efficient image processing
Packages
ChromaFX is distributed as multiple NuGet packages to suit different needs:
| Package | Description | NuGet Link |
|---|---|---|
ChromaFx |
Main package. Modern, high-performance image processing for .NET 8 and 10. | ChromaFx |
ChromaFx.Core |
Core types and abstractions for ChromaFX. | ChromaFx.Core |
ChromaFx.IO |
Image file IO, encoding/decoding support. | ChromaFx.IO |
ChromaFx.Processing |
Image processing algorithms and effects. | ChromaFx.Processing |
ChromaFx.Legacy |
Compatibility package for legacy .NET projects and APIs. | ChromaFx.Legacy |
- Use
ChromaFxfor new projects targeting .NET 8 or .NET 10. - Use
ChromaFx.Core,ChromaFx.IO, andChromaFx.Processingfor modular usage or advanced scenarios. - Use
ChromaFx.Legacyif you need support for older APIs or migration from previous versions.
Provides backward compatibility with the original Structure.Sketching API surface. Use only if migrating existing projects — for new development, prefer ChromaFx
Installation
Install via NuGet package:
dotnet add package ChromaFx
For modular usage:
dotnet add package ChromaFx.Core
dotnet add package ChromaFx.IO
dotnet add package ChromaFx.Processing
For legacy support:
dotnet add package ChromaFx.Legacy
Getting Started
using ChromaFx;
class Program
{
static void Main()
{
// Load, transform, and save
Image.Load("input.png")
.Apply(new Resize(200, 200, ResamplingFiltersAvailable.Bilinear))
.Apply(new Rotate(90))
.Apply(new Invert())
.Save("output.png");
// Or use the fluent pipeline API
Image.Load("input.png")
.Process(p => p
.Resize(200, 200)
.Rotate(90)
.Invert()
)
.Save("output.png");
}
}
API notes
Image.Load(path)andImage.Load(stream)requireChromaFx.IO(included in the mainChromaFxpackage).- Filters live under
ChromaFx.Processing.Filters.*; common types are re-exported viaglobal usingwhen you reference the meta-package. Apply(IFilter)mutates the image in place and returns it for chaining. UseCopy()when you need to preserve the original.
Requirements
- .NET 8 or .NET 10 SDK (builds for both target frameworks)
License
Apache 2.0 - see LICENSE
Attribution
This project is a fork of Structure.Sketching, originally developed by JaCraig under the Apache License 2.0.
Modifications and ongoing maintenance by Ho Tzin Mein (2023–2025).
Roadmap
- ✅ Modularization – Core, IO, Processing, and Legacy packages split out.
- 🔜 API Modernization – Unified load/apply/process surface on
Image. - ⏭ Extended Features – Advanced algorithms such as pixel upscaling, new filters, and effects.
Contributing
Contributions, bug reports, and suggestions are welcome! The roadmap may evolve as the project grows — feel free to open an issue or pull request if you'd like to help shape ChromaFX.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- ChromaFx.Core (>= 0.4.0-beta.33)
-
net8.0
- ChromaFx.Core (>= 0.4.0-beta.33)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ChromaFx.Processing:
| Package | Downloads |
|---|---|
|
ChromaFx
Modern, high-performance .NET image processing and drawing library. Supports PNG, JPEG, BMP, and GIF, with pipeline-friendly APIs. Targets .NET 8 and .NET 10. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.0-beta.33 | 44 | 6/16/2026 |
| 0.4.0-beta.29 | 182 | 9/29/2025 |
| 0.4.0-beta.28 | 176 | 9/29/2025 |
| 0.4.0-beta.27 | 159 | 9/29/2025 |
| 0.4.0-beta.25 | 170 | 9/29/2025 |
| 0.4.0-beta.24 | 143 | 9/28/2025 |
| 0.4.0-beta.23 | 140 | 9/28/2025 |
| 0.4.0-beta.22 | 142 | 9/28/2025 |