ChromaFx.Processing
0.4.0-beta.29
dotnet add package ChromaFx.Processing --version 0.4.0-beta.29
NuGet\Install-Package ChromaFx.Processing -Version 0.4.0-beta.29
<PackageReference Include="ChromaFx.Processing" Version="0.4.0-beta.29" />
<PackageVersion Include="ChromaFx.Processing" Version="0.4.0-beta.29" />
<PackageReference Include="ChromaFx.Processing" />
paket add ChromaFx.Processing --version 0.4.0-beta.29
#r "nuget: ChromaFx.Processing, 0.4.0-beta.29"
#:package ChromaFx.Processing@0.4.0-beta.29
#addin nuget:?package=ChromaFx.Processing&version=0.4.0-beta.29&prerelease
#tool nuget:?package=ChromaFx.Processing&version=0.4.0-beta.29&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+. | 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
ChromaFx
for new projects targeting .NET 8 or later. - Use
ChromaFx.Core
,ChromaFx.IO
, andChromaFx.Processing
for modular usage or advanced scenarios. - Use
ChromaFx.Legacy
if 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
Classic API (currently available)
using ChromaFx;
using ChromaFx.IO;
using ChromaFx.Processing;
using ChromaFx.Processing.Transforms;
class Program
{
static void Main()
{
// Load an image from file
var image = Image.Load("input.png");
// Apply processing using the Apply() method
image = image.Apply(new Resize(200, 200))
.Apply(new Rotate(90))
.Apply(new Invert());
// Save the result
image.Save("output.png");
}
}
Modern API ⚠️ (preview / in development)
using ChromaFx;
class Program
{
static void Main()
{
var image = Image.Load("input.png")
.Process(p => p
.Resize(200, 200)
.Rotate(90)
.Invert()
)
.Save("output.png");
}
}
Requirements
- .NET 8 or later
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 – Introducing a cleaner, pipeline-friendly API (breaking changes).
- ⏭ 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 was computed. 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. |
-
net8.0
- ChromaFx.Core (>= 0.4.0-beta.29)
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. Ideal for new .NET 8+ projects. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.4.0-beta.29 | 116 | 9/29/2025 |
0.4.0-beta.28 | 115 | 9/29/2025 |
0.4.0-beta.27 | 111 | 9/29/2025 |
0.4.0-beta.25 | 112 | 9/29/2025 |
0.4.0-beta.24 | 90 | 9/28/2025 |
0.4.0-beta.23 | 91 | 9/28/2025 |
0.4.0-beta.22 | 91 | 9/28/2025 |