@gmitch215/tinyimg 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSES/DejaVu.txt +187 -0
- package/LICENSES/OpenCV-LBP-Cascades.txt +77 -0
- package/README.md +387 -127
- package/dist/image.d.ts +53 -1
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +18 -3
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/text.d.ts +174 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +307 -0
- package/dist/text.js.map +1 -0
- package/dist/tinyimg.wasm +0 -0
- package/dist/transform.d.ts +16 -0
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +26 -5
- package/dist/transform.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wasm.d.ts +83 -8
- package/dist/wasm.d.ts.map +1 -1
- package/dist/wasm.js +53 -3
- package/dist/wasm.js.map +1 -1
- package/package.json +9 -5
package/dist/image.d.ts
CHANGED
|
@@ -20,10 +20,35 @@ export interface EncodeOptions {
|
|
|
20
20
|
* apart. Flat-color illustrations pay the most, because hard diagonal edges are what the
|
|
21
21
|
* omitted modes are for.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
23
|
+
* PNG reads it too, and its trade splits by content. The encoder compresses an adaptively
|
|
24
|
+
* filtered stream and an unfiltered one and keeps the smaller; `'fast'` compresses only the
|
|
25
|
+
* adaptive one, which is 1.59x to 2.08x. On a photograph the adaptive stream wins anyway, so the
|
|
26
|
+
* output is byte-identical and the speed costs nothing. On flat artwork the unfiltered stream is
|
|
27
|
+
* the one that would have won, so it pays 7.0% more bytes on a mono GIF, 17.2% on
|
|
28
|
+
* `webassembly.png` and 63.1% on a 96x96 logo.
|
|
29
|
+
*
|
|
30
|
+
* Formats with nothing to trade ignore it and do the exact thing, which includes AVIF: the AV1
|
|
31
|
+
* encoder has no bounded search to give up.
|
|
24
32
|
*/
|
|
25
33
|
effort?: 'fancy' | 'fast';
|
|
34
|
+
/**
|
|
35
|
+
* How hard a lossless stream should be compressed. `'auto'` is the default.
|
|
36
|
+
*
|
|
37
|
+
* A third axis, separate from quality and effort, because for PNG and deflate-compressed TIFF
|
|
38
|
+
* the whole output is the compressor's: there is no quantizer to turn down, so quality says
|
|
39
|
+
* nothing and effort only decides how many candidate streams get compressed. `'auto'` reads
|
|
40
|
+
* quality, which is what every caller got before this option existed.
|
|
41
|
+
*
|
|
42
|
+
* At the longest chain walk this measured 664 bytes against 835 on a logo, for 4.30x the CPU;
|
|
43
|
+
* `'none'` entropy codes without searching for matches at all and can beat `'fast'` on a
|
|
44
|
+
* photograph's filtered rows.
|
|
45
|
+
*
|
|
46
|
+
* Formats with no deflate stream ignore it.
|
|
47
|
+
*/
|
|
48
|
+
compression?: 'auto' | 'none' | 'fast' | 'default' | 'best';
|
|
26
49
|
}
|
|
50
|
+
/** Compression names in the order `TinyCompression` declares them. */
|
|
51
|
+
export declare const COMPRESSION: readonly ["auto", "none", "fast", "default", "best"];
|
|
27
52
|
/** What {@link Image.fit} takes beyond the target extent. */
|
|
28
53
|
export interface FitOptions {
|
|
29
54
|
/** Which part a crop keeps, or where a pad puts the image. */
|
|
@@ -185,6 +210,11 @@ export declare class Image {
|
|
|
185
210
|
* its smoothing pass, which is 1.53x on a lossy WebP for 46.8 dB and 1.11x to 1.25x on a
|
|
186
211
|
* subsampled JPEG for 43.6 to 59.5 dB.
|
|
187
212
|
*
|
|
213
|
+
* A scaled WebP request gets a second lever, and it is the one that changes how the reduction
|
|
214
|
+
* is computed: the planes are averaged over each output pixel and converted once, rather than
|
|
215
|
+
* the frame being converted and that averaged. Together with the filter skip it is 2.05x to
|
|
216
|
+
* 3.35x for 38.9 dB, and it never allocates the full frame of RGBA.
|
|
217
|
+
*
|
|
188
218
|
* A lossless format has nothing to drop, because it defines its pixels exactly, so PNG, GIF,
|
|
189
219
|
* TIFF and lossless WebP decode identically either way. So does a 4:4:4 JPEG, which has no
|
|
190
220
|
* chroma to upsample.
|
|
@@ -202,6 +232,28 @@ export declare class Image {
|
|
|
202
232
|
* how the library's own tests assert a plan rather than inferring it from the pixels.
|
|
203
233
|
*/
|
|
204
234
|
decide(): PlanDecision;
|
|
235
|
+
/**
|
|
236
|
+
* Sets a CPU budget the planner may degrade the request to fit.
|
|
237
|
+
*
|
|
238
|
+
* The Workers Free plan allows 10 milliseconds of CPU per request and does not let a caller
|
|
239
|
+
* pay for more, so a request that does not fit fails outright. With a budget set, the planner
|
|
240
|
+
* prices the plan and, while the estimate is over, gives something up: the effort tier, then
|
|
241
|
+
* nearest for a filter left open, then reductions of the decode. {@link decide} reports what
|
|
242
|
+
* it gave up in
|
|
243
|
+
* {@link PlanDecision.degraded} and the estimate it settled on in
|
|
244
|
+
* {@link PlanDecision.estimateMs}.
|
|
245
|
+
*
|
|
246
|
+
* **A budget is a request, not a guarantee.** The estimate is within about 20%, the levers run
|
|
247
|
+
* out, and a plan can still be over budget after all of them; read `estimateMs` back and
|
|
248
|
+
* compare. Nothing is degraded when the estimate already fits.
|
|
249
|
+
*
|
|
250
|
+
* The encoder is not priced here, because a plan does not carry one. Subtract
|
|
251
|
+
* `module.exports.tiny_encode_cost` for the format being written, or use `budgetMs` on
|
|
252
|
+
* {@link transform}, which does that for you.
|
|
253
|
+
*
|
|
254
|
+
* @param milliseconds The budget, or 0 to remove it.
|
|
255
|
+
*/
|
|
256
|
+
budget(milliseconds: number): this;
|
|
205
257
|
/**
|
|
206
258
|
* Runs the plan and encodes the result.
|
|
207
259
|
*
|
package/dist/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/ts/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/ts/image.ts"],"names":[],"mappings":"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"}
|
package/dist/image.js
CHANGED
|
@@ -61,8 +61,16 @@ const Field = {
|
|
|
61
61
|
collapsed: 12,
|
|
62
62
|
colorStages: 13,
|
|
63
63
|
passes: 14,
|
|
64
|
-
kernels: 15
|
|
64
|
+
kernels: 15,
|
|
65
|
+
cost: 16,
|
|
66
|
+
degraded: 17
|
|
65
67
|
};
|
|
68
|
+
const DEGRADES = [
|
|
69
|
+
[1 << 0, 'effort'],
|
|
70
|
+
[1 << 1, 'filter'],
|
|
71
|
+
[1 << 2, 'scale']
|
|
72
|
+
];
|
|
73
|
+
export const COMPRESSION = ['auto', 'none', 'fast', 'default', 'best'];
|
|
66
74
|
export class Image {
|
|
67
75
|
#module;
|
|
68
76
|
#plan;
|
|
@@ -241,13 +249,19 @@ export class Image {
|
|
|
241
249
|
colorStages: field('colorStages'),
|
|
242
250
|
passes: field('passes'),
|
|
243
251
|
kernels: KERNELS.filter(([bit]) => (bits & bit) !== 0).map(([, name]) => name),
|
|
244
|
-
estimateMs:
|
|
252
|
+
estimateMs: field('cost') / 1000,
|
|
253
|
+
degraded: DEGRADES.filter(([bit]) => (field('degraded') & bit) !== 0).map(([, name]) => name)
|
|
245
254
|
};
|
|
246
255
|
}
|
|
247
256
|
finally {
|
|
248
257
|
module.free(resolution);
|
|
249
258
|
}
|
|
250
259
|
}
|
|
260
|
+
budget(milliseconds) {
|
|
261
|
+
this.#alive();
|
|
262
|
+
this.#module.check(this.#module.exports.tiny_plan_set_budget(this.#plan, Math.max(0, Math.round(milliseconds * 1000))), 'budget setting');
|
|
263
|
+
return this;
|
|
264
|
+
}
|
|
251
265
|
async bytes(format, options = {}) {
|
|
252
266
|
this.#alive();
|
|
253
267
|
const target = format ?? this.#format;
|
|
@@ -256,13 +270,14 @@ export class Image {
|
|
|
256
270
|
}
|
|
257
271
|
const module = this.#module;
|
|
258
272
|
const writer = module.alloc(module.exports.tiny_writer_sizeof());
|
|
259
|
-
const opts = module.alloc(
|
|
273
|
+
const opts = module.alloc(module.exports.tiny_encode_opts_sizeof());
|
|
260
274
|
const view = module.view();
|
|
261
275
|
view.setUint8(opts, options.quality ?? 0);
|
|
262
276
|
view.setUint8(opts + 1, options.lossless ? 1 : 0);
|
|
263
277
|
view.setUint8(opts + 2, options.progressive ? 1 : 0);
|
|
264
278
|
view.setUint8(opts + 3, options.stripMetadata ? 1 : 0);
|
|
265
279
|
view.setUint8(opts + 4, options.effort === 'fast' ? 1 : 0);
|
|
280
|
+
view.setUint8(opts + 5, COMPRESSION.indexOf(options.compression ?? 'auto'));
|
|
266
281
|
try {
|
|
267
282
|
module.check(module.exports.tiny_writer_init(writer, 0), 'prepare the encoder');
|
|
268
283
|
try {
|
package/dist/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/ts/image.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/ts/image.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
* after the first operation has already run.
|
|
41
41
|
*/
|
|
42
42
|
export { Image, mimeFor, type EncodeOptions, type FitOptions } from './image.js';
|
|
43
|
+
export { Font, og, type OgOptions, type OgResult, type TextBox, type TextLine, type TextShadow, type TextStyle } from './text.js';
|
|
43
44
|
export { TRANSFORM_ORDER, apply, artifactKey, transform, type TransformResult } from './transform.js';
|
|
44
45
|
export { Err, TinyImgArgumentError, TinyImgBlobError, TinyImgDataError, TinyImgError, TinyImgFormatError, TinyImgMemoryError, TinyImgPlanError, TinyImgTooLargeError, readColor, readSource, type BlobKind, type Color, type Extent, type FaceBox, type Fit, type FlipAxis, type Gravity, type ImageFormat, type ImageInfo, type MetadataPolicy, type PlanDecision, type RawImage, type Rect, type ResampleFilter, type Source, type TransformOptions } from './types.js';
|
|
45
|
-
export { Feature, SUPPORTED_ABI, TinyImgLoadError, TinyImgModule, type FeatureName, type Measured, type WorkCounters } from './wasm.js';
|
|
46
|
+
export { Feature, SUPPORTED_ABI, TinyImgLoadError, TinyImgModule, type BuiltinBlob, type FeatureName, type Measured, type WorkCounters } from './wasm.js';
|
|
46
47
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,eAAe,EACf,KAAK,EACL,WAAW,EACX,SAAS,EACT,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,GAAG,EACH,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,IAAI,EACJ,EAAE,EACF,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,eAAe,EACf,KAAK,EACL,WAAW,EACX,SAAS,EACT,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,GAAG,EACH,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Image, mimeFor } from './image.js';
|
|
2
|
+
export { Font, og } from './text.js';
|
|
2
3
|
export { TRANSFORM_ORDER, apply, artifactKey, transform } from './transform.js';
|
|
3
4
|
export { Err, TinyImgArgumentError, TinyImgBlobError, TinyImgDataError, TinyImgError, TinyImgFormatError, TinyImgMemoryError, TinyImgPlanError, TinyImgTooLargeError, readColor, readSource } from './types.js';
|
|
4
5
|
export { Feature, SUPPORTED_ABI, TinyImgLoadError, TinyImgModule } from './wasm.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAuC,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,eAAe,EACf,KAAK,EACL,WAAW,EACX,SAAS,EAET,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,GAAG,EACH,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EAiBV,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAuC,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,IAAI,EACJ,EAAE,EAOF,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,eAAe,EACf,KAAK,EACL,WAAW,EACX,SAAS,EAET,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,GAAG,EACH,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EAiBV,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EAKb,MAAM,WAAW,CAAC"}
|
package/dist/text.d.ts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { type EncodeOptions } from './image.js';
|
|
2
|
+
import { type Color, type ImageFormat, type Source } from './types.js';
|
|
3
|
+
import type { TinyImgModule } from './wasm.js';
|
|
4
|
+
/** How a run of text is set. Mirrors `TinyTextStyle`. */
|
|
5
|
+
export interface TextStyle {
|
|
6
|
+
/** Em size in pixels. */
|
|
7
|
+
size: number;
|
|
8
|
+
/** Extra space between glyphs. Negative tightens. */
|
|
9
|
+
tracking?: number;
|
|
10
|
+
/** Multiple of the face's own line height. */
|
|
11
|
+
lineHeight?: number;
|
|
12
|
+
/** Apply the face's kern pairs. Defaults to true. */
|
|
13
|
+
kerning?: boolean;
|
|
14
|
+
/** Outline width in pixels. */
|
|
15
|
+
stroke?: number;
|
|
16
|
+
/** The outline's color. */
|
|
17
|
+
strokeColor?: Color;
|
|
18
|
+
/** A shadow under the run, or omitted for none. */
|
|
19
|
+
shadow?: TextShadow;
|
|
20
|
+
}
|
|
21
|
+
/** A shadow under a run of text. Any non-zero field asks for one. */
|
|
22
|
+
export interface TextShadow {
|
|
23
|
+
/** Horizontal offset in pixels. Negative is left. */
|
|
24
|
+
x?: number;
|
|
25
|
+
/** Vertical offset in pixels. Negative is up. */
|
|
26
|
+
y?: number;
|
|
27
|
+
/** Softness in pixels, or 0 for a hard offset copy. */
|
|
28
|
+
blur?: number;
|
|
29
|
+
/** The shadow's color. Defaults to opaque black. */
|
|
30
|
+
color?: Color;
|
|
31
|
+
}
|
|
32
|
+
/** Where a run sits inside the rectangle it was given. Mirrors `TinyTextBox`. */
|
|
33
|
+
export interface TextBox {
|
|
34
|
+
/** Width to wrap inside, or 0 for no wrapping. */
|
|
35
|
+
width?: number;
|
|
36
|
+
/** Height to fill, or 0 for no limit. */
|
|
37
|
+
height?: number;
|
|
38
|
+
/** Where each line sits inside the width. */
|
|
39
|
+
align?: 'left' | 'center' | 'right' | 'justify';
|
|
40
|
+
/** Where the run sits inside the height. */
|
|
41
|
+
valign?: 'top' | 'middle' | 'bottom';
|
|
42
|
+
/** What happens to what does not fit. */
|
|
43
|
+
overflow?: 'clip' | 'ellipsis';
|
|
44
|
+
}
|
|
45
|
+
/** One line of a measured run. Mirrors `TinyTextLine`. */
|
|
46
|
+
export interface TextLine {
|
|
47
|
+
/** Byte offset of the line's first character. */
|
|
48
|
+
at: number;
|
|
49
|
+
/** Bytes the line holds. */
|
|
50
|
+
length: number;
|
|
51
|
+
/** Advance width in pixels. */
|
|
52
|
+
width: number;
|
|
53
|
+
/** Left edge once the alignment is applied. */
|
|
54
|
+
x: number;
|
|
55
|
+
/** Top edge of the line box. */
|
|
56
|
+
y: number;
|
|
57
|
+
/** Baseline, measured down from the top of the run. */
|
|
58
|
+
baseline: number;
|
|
59
|
+
/** Codepoints the line holds. */
|
|
60
|
+
glyphs: number;
|
|
61
|
+
/** Codepoints no face in the chain had a glyph for. */
|
|
62
|
+
missing: number;
|
|
63
|
+
/** The box's height stopped this line being drawn. */
|
|
64
|
+
clipped: boolean;
|
|
65
|
+
/** This line was cut short and ends in an ellipsis. */
|
|
66
|
+
ellipsized: boolean;
|
|
67
|
+
}
|
|
68
|
+
/** A loaded face, held open for as long as the caller needs it. */
|
|
69
|
+
export declare class Font implements Disposable {
|
|
70
|
+
#private;
|
|
71
|
+
private constructor();
|
|
72
|
+
/**
|
|
73
|
+
* Loads a face from a blob, or from the one the module carries.
|
|
74
|
+
*
|
|
75
|
+
* With no id at all this is the compiled-in `sans`, which covers ASCII and eight accented
|
|
76
|
+
* letters and needs no host wiring. A wider glyph set or a different face is
|
|
77
|
+
* {@link TinyImgModule.loadBlob} followed by its id here.
|
|
78
|
+
*
|
|
79
|
+
* @param module The loaded module.
|
|
80
|
+
* @param id The blob id, or omitted for the first resident font and then the builtin.
|
|
81
|
+
*/
|
|
82
|
+
static load(module: TinyImgModule, id?: string): Font;
|
|
83
|
+
/** @internal The module pointer, for the drawing entry points. */
|
|
84
|
+
get pointer(): number;
|
|
85
|
+
/** Whether the face has a glyph for a codepoint. */
|
|
86
|
+
has(codepoint: number): boolean;
|
|
87
|
+
/** Releases the face. The bytes it borrowed are the blob's and are not freed. */
|
|
88
|
+
dispose(): void;
|
|
89
|
+
/** Releases the face, so `using` works on it. */
|
|
90
|
+
[Symbol.dispose](): void;
|
|
91
|
+
}
|
|
92
|
+
/** What {@link og} takes. */
|
|
93
|
+
export interface OgOptions {
|
|
94
|
+
/** Card width. Defaults to 1200, which is what the OG spec asks for. */
|
|
95
|
+
width?: number;
|
|
96
|
+
/** Card height. Defaults to 630. */
|
|
97
|
+
height?: number;
|
|
98
|
+
/** Solid background color, drawn under everything. */
|
|
99
|
+
background?: Color;
|
|
100
|
+
/** An image to cover the card with, under the text. */
|
|
101
|
+
image?: Source;
|
|
102
|
+
/** How much of the card the text keeps clear of the edges. Defaults to 64. */
|
|
103
|
+
padding?: number;
|
|
104
|
+
/** The headline. */
|
|
105
|
+
title?: string;
|
|
106
|
+
/** The line under it. */
|
|
107
|
+
subtitle?: string;
|
|
108
|
+
/** A small line at the bottom, for a site name or a date. */
|
|
109
|
+
footer?: string;
|
|
110
|
+
/** Text color. Defaults to white. */
|
|
111
|
+
color?: Color;
|
|
112
|
+
/** Subtitle and footer color. Defaults to {@link OgOptions.color} at 70% alpha. */
|
|
113
|
+
mutedColor?: Color;
|
|
114
|
+
/** Blob id of the face to set it in, or omitted for the one the module carries. */
|
|
115
|
+
font?: string;
|
|
116
|
+
/** Title size in pixels. Defaults to a tenth of the height. */
|
|
117
|
+
titleSize?: number;
|
|
118
|
+
/** Subtitle size. Defaults to two fifths of the title. */
|
|
119
|
+
subtitleSize?: number;
|
|
120
|
+
/** Footer size. Defaults to a quarter of the title. */
|
|
121
|
+
footerSize?: number;
|
|
122
|
+
/** A shadow under the text, which is what keeps a headline readable over a photograph. */
|
|
123
|
+
shadow?: boolean;
|
|
124
|
+
/** Container to encode as. Defaults to PNG. */
|
|
125
|
+
format?: ImageFormat;
|
|
126
|
+
/** Encoder settings. */
|
|
127
|
+
encode?: EncodeOptions;
|
|
128
|
+
}
|
|
129
|
+
/** What {@link og} produces. */
|
|
130
|
+
export interface OgResult {
|
|
131
|
+
/** The encoded card. */
|
|
132
|
+
data: Uint8Array<ArrayBuffer>;
|
|
133
|
+
/** What it was encoded as. */
|
|
134
|
+
format: ImageFormat;
|
|
135
|
+
/** Its content type. */
|
|
136
|
+
contentType: string;
|
|
137
|
+
/** Card width in pixels. */
|
|
138
|
+
width: number;
|
|
139
|
+
/** Card height in pixels. */
|
|
140
|
+
height: number;
|
|
141
|
+
/** Non-zero when the title did not fit and was truncated. */
|
|
142
|
+
titleTruncated: boolean;
|
|
143
|
+
/** Codepoints no face in the chain had a glyph for. */
|
|
144
|
+
missingGlyphs: number;
|
|
145
|
+
/** The bytes as a `Response`, typed and length-set. */
|
|
146
|
+
response(headers?: HeadersInit): Response;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Renders an Open Graph card.
|
|
150
|
+
*
|
|
151
|
+
* The whole of what a social preview needs in one call: a background, a headline that wraps and
|
|
152
|
+
* truncates instead of running off the card, a subtitle, a footer, and a shadow so the text stays
|
|
153
|
+
* readable over a photograph. Nothing has to be loaded first, because the face is compiled in.
|
|
154
|
+
*
|
|
155
|
+
* ```ts
|
|
156
|
+
* const card = await og(tinyimg, {
|
|
157
|
+
* title: 'How a planner made the decode cheap',
|
|
158
|
+
* subtitle: 'Deciding what to decode before decoding it',
|
|
159
|
+
* footer: 'tinyimg.gmitch215.dev',
|
|
160
|
+
* background: '#0b1020'
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* return card.response({ 'cache-control': 'public, max-age=86400' });
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* The report is the part worth reading before serving it: `titleTruncated` says the headline was
|
|
167
|
+
* cut, and `missingGlyphs` says the face had nothing for some of the characters, which is what a
|
|
168
|
+
* card with empty boxes in the headline looks like from the inside.
|
|
169
|
+
*
|
|
170
|
+
* @param module The loaded module.
|
|
171
|
+
* @param options What to draw.
|
|
172
|
+
*/
|
|
173
|
+
export declare function og(module: TinyImgModule, options?: OgOptions): Promise<OgResult>;
|
|
174
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/ts/text.ts"],"names":[],"mappings":"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"}
|