Skip to content

Epic: introduce pixel-agnostic API across the whole library #907

Closed
@antonfirsov

Description

@antonfirsov

I'm opening this to track the API changes I'm planning to introduce in multiple PR-s:

  • Adding the non-generic Image base class, refactor and publish processors without color parameters. (Introduce a non-generic Image base class #904)
  • Introduce pixel independent color type, refactor and publish processors having color values as parameters.
  • Make ImageSharp.Drawing API non-generic.
  • Do a sanity check on the resulting API set. Drop (or consider dropping) generic classes made obsolete by the new API (ColorBuilder<T>, NamedColors<T> and ImageProcessingContext<T>)
  • Define (or at least considerdefining) a non-generic variant of ImageFrameCollection
  • Update SixLabors/Samples (also taking other aspects into account)
  • Anaylize impact on AOT, extend AotCompilerTools. EDIT: Won't do it for RC1. Moved to separate issue: Maintain Xamarin iOS support by keeping the library "AOT-proof" #946.

After finishing the changes, I'm planning to publish a blog post to explain the new API and help existing users with a migration guide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions