hdr-canvas 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/@types/hdr-canvas.d.ts +57 -0
- package/dist/hdr-canvas.cjs +2 -2
- package/dist/hdr-canvas.cjs.map +1 -1
- package/dist/hdr-canvas.d.ts +4 -57
- package/dist/hdr-canvas.js +2 -2
- package/dist/hdr-canvas.js.map +1 -1
- package/dist/hdr-canvas.min.js.map +1 -1
- package/dist/index.d.ts +57 -0
- package/package.json +21 -9
- package/src/hdr-canvas.ts +7 -8
@@ -0,0 +1,57 @@
|
|
1
|
+
import { ColorTypes } from 'colorjs.io';
|
2
|
+
|
3
|
+
// See https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts
|
4
|
+
/// <reference lib="dom" />
|
5
|
+
|
6
|
+
type HDRHTMLCanvasOptionsType = "mode";
|
7
|
+
type HDRHTMLCanvasOptions = { [key in HDRHTMLCanvasOptionsType]?: string };
|
8
|
+
|
9
|
+
interface HDRHTMLCanvasElement extends HTMLCanvasElement {
|
10
|
+
configureHighDynamicRange(options: HDRHTMLCanvasOptions): void;
|
11
|
+
_getContext(contextId: string, options?: object): RenderingContext | null;
|
12
|
+
}
|
13
|
+
|
14
|
+
interface HDRImageData {
|
15
|
+
readonly colorSpace: PredefinedColorSpace;
|
16
|
+
readonly data: Uint8ClampedArray | Uint16Array;
|
17
|
+
readonly height: number;
|
18
|
+
readonly width: number;
|
19
|
+
}
|
20
|
+
|
21
|
+
// See https://github.com/w3c/ColorWeb-CG/blob/main/hdr_html_canvas_element.md
|
22
|
+
// "rec2100-display-linear" is left out beacause of mapping issues
|
23
|
+
type HDRPredefinedColorSpace = "display-p3" | "srgb" | "rec2100-hlg" | "rec2100-pq";
|
24
|
+
|
25
|
+
type Uint16ImagePixelCallback = (red: number, green: number, blue: number, alpha: number) => Uint16Array;
|
26
|
+
declare class Uint16Image {
|
27
|
+
height: number;
|
28
|
+
width: number;
|
29
|
+
data: Uint16Array;
|
30
|
+
static DEFAULT_COLORSPACE: HDRPredefinedColorSpace;
|
31
|
+
static SDR_MULTIPLIER: number;
|
32
|
+
static COLORSPACES: Record<HDRPredefinedColorSpace, ColorTypes>;
|
33
|
+
colorSpace: HDRPredefinedColorSpace;
|
34
|
+
constructor(width: number, height: number, colorspace?: string);
|
35
|
+
fill(color: number[]): Uint16Image | undefined;
|
36
|
+
getPixel(w: number, h: number): Uint16Array;
|
37
|
+
setPixel(w: number, h: number, px: number[]): void;
|
38
|
+
static scaleUint8ToUint16(val: number): number;
|
39
|
+
getImageData(): ImageData | null;
|
40
|
+
static convertPixelToRec2100_hlg(pixel: Uint8ClampedArray): Uint16Array;
|
41
|
+
static convertArrayToRec2100_hlg(data: Uint8ClampedArray): Uint16Array;
|
42
|
+
pixelCallback(fn: Uint16ImagePixelCallback): void;
|
43
|
+
static loadSDRImageData(url: URL): Promise<HDRImageData | undefined>;
|
44
|
+
static fromImageData(imageData: HDRImageData): Uint16Image;
|
45
|
+
static fromURL(url: URL): Promise<Uint16Image | undefined>;
|
46
|
+
setImageData(imageData: HDRImageData): void;
|
47
|
+
clone(): Uint16Image;
|
48
|
+
}
|
49
|
+
|
50
|
+
declare function checkHDR(): boolean;
|
51
|
+
declare function checkHDRCanvas(): boolean;
|
52
|
+
|
53
|
+
declare function initHDRCanvas(canvas: HDRHTMLCanvasElement): RenderingContext | null;
|
54
|
+
declare function defaultGetContextHDR(): void;
|
55
|
+
declare function resetGetContext(): void;
|
56
|
+
|
57
|
+
export { Uint16Image, checkHDR, checkHDRCanvas, defaultGetContextHDR, initHDRCanvas, resetGetContext };
|
package/dist/hdr-canvas.cjs
CHANGED
@@ -5939,9 +5939,9 @@ function checkHDRCanvas() {
|
|
5939
5939
|
}
|
5940
5940
|
}
|
5941
5941
|
|
5942
|
-
const hdr_options = { colorSpace: Uint16Image.DEFAULT_COLORSPACE, pixelFormat:
|
5942
|
+
const hdr_options = { colorSpace: Uint16Image.DEFAULT_COLORSPACE, pixelFormat: "float16" };
|
5943
5943
|
function initHDRCanvas(canvas) {
|
5944
|
-
canvas.configureHighDynamicRange({ mode:
|
5944
|
+
canvas.configureHighDynamicRange({ mode: "extended" });
|
5945
5945
|
const ctx = canvas.getContext("2d", hdr_options);
|
5946
5946
|
return ctx;
|
5947
5947
|
}
|