Implement sRGB color conversion (#510)

* Add sRGB -> RGB conversion before resize

* Add clamping for color space conversions

* Clip for demultiplication as well

* Fixing linear <-> srgb conversion

* Update benchmark

* Decouple srgb calculations

* Generate lookup tables

* Update src/codecs/resize/options.tsx

* Defaulting on, renaming, removing redundant state
This commit is contained in:
Surma
2019-03-12 14:09:35 +00:00
committed by Jake Archibald
parent 496896e36e
commit bf4d4b78cb
13 changed files with 157 additions and 36 deletions

View File

@@ -17,6 +17,7 @@ export interface BrowserResizeOptions extends ResizeOptionsCommon {
export interface WorkerResizeOptions extends ResizeOptionsCommon {
method: WorkerResizeMethods;
premultiply: boolean;
linearRGB: boolean;
}
export interface VectorResizeOptions extends ResizeOptionsCommon {
@@ -41,4 +42,5 @@ export const defaultOptions: ResizeOptions = {
method: 'lanczos3',
fitMethod: 'stretch',
premultiply: true,
linearRGB: true,
};