ChromaFx 0.4.0-beta.29

This is a prerelease version of ChromaFx.
dotnet add package ChromaFx --version 0.4.0-beta.29
                    
NuGet\Install-Package ChromaFx -Version 0.4.0-beta.29
                    
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="ChromaFx" Version="0.4.0-beta.29" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ChromaFx" Version="0.4.0-beta.29" />
                    
Directory.Packages.props
<PackageReference Include="ChromaFx" />
                    
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 ChromaFx --version 0.4.0-beta.29
                    
#r "nuget: ChromaFx, 0.4.0-beta.29"
                    
#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 ChromaFx@0.4.0-beta.29
                    
#: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=ChromaFx&version=0.4.0-beta.29&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ChromaFx&version=0.4.0-beta.29&prerelease
                    
Install as a Cake Tool

ChromaFX — High-performance .NET image processing library

Build Status NuGet NuGet License

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, and ChromaFx.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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.4.0-beta.29 113 9/29/2025
0.4.0-beta.28 112 9/29/2025
0.4.0-beta.27 113 9/29/2025
0.4.0-beta.25 115 9/29/2025
0.4.0-beta.24 91 9/28/2025
0.4.0-beta.23 88 9/28/2025
0.4.0-beta.22 93 9/28/2025
0.4.0-beta.19 52 9/27/2025
0.4.0-beta.18 76 9/26/2025
0.4.0-beta.14 143 9/20/2025