@gmitch215/tinyimg 1.1.0 → 1.2.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/dist/image.js CHANGED
@@ -44,6 +44,15 @@ const KERNELS = [
44
44
  [1 << 7, 'gray-decode'],
45
45
  [1 << 8, 'neighborhood']
46
46
  ];
47
+ const ORIENTATION = {
48
+ 2: { flip: 'horizontal' },
49
+ 3: { turn: 180 },
50
+ 4: { flip: 'vertical' },
51
+ 5: { flip: 'horizontal', turn: 270 },
52
+ 6: { turn: 90 },
53
+ 7: { flip: 'horizontal', turn: 90 },
54
+ 8: { turn: 270 }
55
+ };
47
56
  const FX_UNSHARP = 0;
48
57
  const Field = {
49
58
  regionX: 0,
@@ -63,13 +72,69 @@ const Field = {
63
72
  passes: 14,
64
73
  kernels: 15,
65
74
  cost: 16,
66
- degraded: 17
75
+ degraded: 17,
76
+ costUpper: 18
67
77
  };
68
78
  const DEGRADES = [
69
79
  [1 << 0, 'effort'],
70
80
  [1 << 1, 'filter'],
71
81
  [1 << 2, 'scale']
72
82
  ];
83
+ const DECISIONS = ['admit', 'degraded', 'reject'];
84
+ const AdmissionField = {
85
+ decision: 0,
86
+ degraded: 1,
87
+ cost: 2,
88
+ costUpper: 3,
89
+ encode: 4,
90
+ encodeUpper: 5,
91
+ margin: 6
92
+ };
93
+ const SELECT_REASONS = [
94
+ 'none',
95
+ 'format',
96
+ 'alpha',
97
+ 'uncharacterized',
98
+ 'peak',
99
+ 'quality',
100
+ 'budget'
101
+ ];
102
+ const OBJECTIVES = ['bytes', 'time', 'quality'];
103
+ const SelectionField = {
104
+ feasible: 0,
105
+ reason: 1,
106
+ candidate: 2,
107
+ format: 3,
108
+ quality: 4,
109
+ lossless: 5,
110
+ costUpper: 6,
111
+ peak: 7,
112
+ dbMilli: 8,
113
+ dbMedianMilli: 9,
114
+ dbKnown: 10,
115
+ bytesPerPixelMicro: 12,
116
+ bytesKnown: 13,
117
+ predictedBytes: 14,
118
+ considered: 15,
119
+ width: 17,
120
+ height: 18,
121
+ alpha: 20,
122
+ leverCoverage: 21,
123
+ encodeCoverage: 23,
124
+ chosen: 24
125
+ };
126
+ const ConsideredField = {
127
+ format: 1,
128
+ quality: 2,
129
+ lossless: 3,
130
+ reason: 4,
131
+ dbMilli: 6,
132
+ dbKnown: 7,
133
+ bytesPerPixelMicro: 8,
134
+ bytesKnown: 9,
135
+ costUpper: 10,
136
+ peak: 11
137
+ };
73
138
  export const COMPRESSION = ['auto', 'none', 'fast', 'default', 'best'];
74
139
  export class Image {
75
140
  #module;
@@ -78,16 +143,18 @@ export class Image {
78
143
  #size;
79
144
  #format;
80
145
  #frames;
146
+ #orientation;
81
147
  #after = [];
82
148
  #background;
83
149
  #disposed = false;
84
- constructor(module, plan, buffer, size, format, frames) {
150
+ constructor(module, plan, buffer, size, format, frames, orientation) {
85
151
  this.#module = module;
86
152
  this.#plan = plan;
87
153
  this.#buffer = buffer;
88
154
  this.#size = size;
89
155
  this.#format = format;
90
156
  this.#frames = frames;
157
+ this.#orientation = orientation;
91
158
  }
92
159
  static async open(module, source) {
93
160
  const bytes = await readSource(source);
@@ -102,7 +169,7 @@ export class Image {
102
169
  module.free(buffer);
103
170
  throw error;
104
171
  }
105
- return new Image(module, plan, buffer, bytes.byteLength, info.format, info.frames);
172
+ return new Image(module, plan, buffer, bytes.byteLength, info.format, info.frames, info.orientation);
106
173
  }
107
174
  get sourceFormat() {
108
175
  return this.#format;
@@ -139,6 +206,17 @@ export class Image {
139
206
  }
140
207
  return this;
141
208
  }
209
+ autoOrient() {
210
+ if (this.operations > 0) {
211
+ throw new Error('autoOrient has to be the first operation');
212
+ }
213
+ const step = ORIENTATION[this.#orientation];
214
+ if (step?.flip)
215
+ this.flip(step.flip);
216
+ if (step?.turn)
217
+ this.rotate(step.turn);
218
+ return this;
219
+ }
142
220
  rotateFree(degrees) {
143
221
  this.#alive();
144
222
  const quarter = ((degrees % 360) + 360) % 360;
@@ -164,6 +242,25 @@ export class Image {
164
242
  });
165
243
  return this;
166
244
  }
245
+ edit(fn) {
246
+ this.#alive();
247
+ this.#after.push((image) => {
248
+ const module = this.#module;
249
+ module.check(module.exports.tiny_image_convert_channels(image, 4), 'widen to RGBA');
250
+ const width = module.exports.tiny_image_getwidth(image);
251
+ const height = module.exports.tiny_image_getheight(image);
252
+ const data = module.exports.tiny_image_getdata(image);
253
+ fn({
254
+ width,
255
+ height,
256
+ channels: 4,
257
+ pixels: module
258
+ .bytes()
259
+ .subarray(data, data + width * height * 4)
260
+ });
261
+ });
262
+ return this;
263
+ }
167
264
  brightness(factor) {
168
265
  return this.#append(this.#module.exports.tiny_plan_brightness(this.#plan, factor), 'brightness');
169
266
  }
@@ -250,6 +347,7 @@ export class Image {
250
347
  passes: field('passes'),
251
348
  kernels: KERNELS.filter(([bit]) => (bits & bit) !== 0).map(([, name]) => name),
252
349
  estimateMs: field('cost') / 1000,
350
+ costUpperMs: field('costUpper') / 1000,
253
351
  degraded: DEGRADES.filter(([bit]) => (field('degraded') & bit) !== 0).map(([, name]) => name)
254
352
  };
255
353
  }
@@ -257,12 +355,126 @@ export class Image {
257
355
  module.free(resolution);
258
356
  }
259
357
  }
260
- budget(milliseconds) {
358
+ budget(milliseconds, basis = 'point') {
261
359
  this.#alive();
262
360
  this.#module.check(this.#module.exports.tiny_plan_set_budget(this.#plan, Math.max(0, Math.round(milliseconds * 1000))), 'budget setting');
361
+ this.#module.check(this.#module.exports.tiny_plan_set_budget_basis(this.#plan, basis === 'upper' ? 1 : 0), 'budget basis setting');
263
362
  return this;
264
363
  }
364
+ admit(budgetMs, options = {}) {
365
+ this.#alive();
366
+ const module = this.#module;
367
+ const format = options.format ?? this.#format;
368
+ const opts = module.alloc(module.exports.tiny_admit_opts_sizeof());
369
+ const out = module.alloc(module.exports.tiny_admission_sizeof());
370
+ try {
371
+ const view = module.view();
372
+ const values = [
373
+ Math.min(0xffffffff, Math.max(0, Math.round(budgetMs * 1000))),
374
+ Math.min(0xffffffff, Math.max(1, Math.round((options.platformScale ?? 1) * 1000))),
375
+ options.mode === 'strict' ? 0 : 1,
376
+ format === 'unknown' ? 0 : module.formatId(format),
377
+ COMPRESSION.indexOf(options.compression ?? 'auto'),
378
+ options.quality ?? 0,
379
+ options.lossless ? 1 : 0,
380
+ options.effort === 'fast' ? 1 : 0
381
+ ];
382
+ values.forEach((value, index) => view.setUint32(opts + index * 4, value, true));
383
+ module.check(module.exports.tiny_plan_admit(this.#plan, opts, out), 'admit the plan');
384
+ const field = (name) => module.exports.tiny_admission_field(out, AdmissionField[name]);
385
+ return {
386
+ decision: DECISIONS[field('decision')] ?? 'reject',
387
+ costMs: field('cost') / 1000,
388
+ costUpperMs: field('costUpper') / 1000,
389
+ encodeMs: field('encode') / 1000,
390
+ encodeUpperMs: field('encodeUpper') / 1000,
391
+ marginMs: (field('margin') | 0) / 1000,
392
+ degraded: DEGRADES.filter(([bit]) => (field('degraded') & bit) !== 0).map(([, name]) => name)
393
+ };
394
+ }
395
+ finally {
396
+ module.free(out);
397
+ module.free(opts);
398
+ }
399
+ }
400
+ select(options = {}) {
401
+ this.#alive();
402
+ const module = this.#module;
403
+ const opts = module.alloc(module.exports.tiny_select_opts_sizeof());
404
+ const out = module.alloc(module.exports.tiny_selection_sizeof());
405
+ try {
406
+ const view = module.view();
407
+ const mask = (options.formats ?? []).reduce((bits, format) => bits | (1 << module.formatId(format)), 0);
408
+ const u32 = (value) => Math.min(0xffffffff, Math.max(0, Math.round(value)));
409
+ const objective = OBJECTIVES.indexOf(options.objective ?? 'bytes');
410
+ if (objective < 0)
411
+ throw new TypeError(`'${options.objective}' is not an objective`);
412
+ view.setUint32(opts, u32((options.budgetMs ?? 0) * 1000), true);
413
+ view.setUint32(opts + 4, u32(Math.max(1, (options.platformScale ?? 1) * 1000)), true);
414
+ view.setUint32(opts + 8, u32(options.peakBytes ?? 0), true);
415
+ view.setFloat32(opts + 12, options.minDb ?? 0, true);
416
+ view.setUint32(opts + 16, mask >>> 0, true);
417
+ view.setUint32(opts + 20, objective, true);
418
+ view.setUint32(opts + 24, options.uncharacterized === 'allow' ? 1 : 0, true);
419
+ view.setUint32(opts + 28, options.assumeOpaque ? 1 : 0, true);
420
+ module.check(module.exports.tiny_plan_select(this.#plan, opts, out), 'select');
421
+ const field = (name) => module.exports.tiny_selection_field(out, SelectionField[name]);
422
+ const width = field('width');
423
+ const height = field('height');
424
+ const read = (index) => {
425
+ const part = (name) => module.exports.tiny_selection_considered_field(out, index, ConsideredField[name]);
426
+ return {
427
+ format: module.formatName(part('format')),
428
+ quality: part('quality'),
429
+ lossless: part('lossless') !== 0,
430
+ reason: SELECT_REASONS[part('reason')] ?? 'none',
431
+ costUpperMs: part('costUpper') / 1000,
432
+ peakBytes: part('peak'),
433
+ db: part('dbKnown') ? part('dbMilli') / 1000 : undefined,
434
+ bytes: part('bytesKnown')
435
+ ? Math.round((part('bytesPerPixelMicro') / 1e6) * width * height)
436
+ : undefined
437
+ };
438
+ };
439
+ const considered = Array.from({ length: field('considered') }, (_, index) => read(index));
440
+ const feasible = field('feasible') !== 0;
441
+ return {
442
+ feasible,
443
+ reason: SELECT_REASONS[field('reason')] ?? 'none',
444
+ choice: feasible
445
+ ? {
446
+ ...considered[field('chosen')],
447
+ candidate: field('candidate'),
448
+ dbMedian: field('dbKnown') ? field('dbMedianMilli') / 1000 : undefined,
449
+ ...(field('bytesKnown') ? { bytes: field('predictedBytes') } : {})
450
+ }
451
+ : undefined,
452
+ width,
453
+ height,
454
+ alpha: field('alpha') !== 0,
455
+ coverage: {
456
+ lever: field('leverCoverage') / 1000,
457
+ encode: field('encodeCoverage') / 1000
458
+ },
459
+ considered
460
+ };
461
+ }
462
+ finally {
463
+ module.free(out);
464
+ module.free(opts);
465
+ }
466
+ }
265
467
  async bytes(format, options = {}) {
468
+ return this.#encode(format, options);
469
+ }
470
+ async bytesFor(selection, options = {}) {
471
+ const choice = selection.choice;
472
+ if (!selection.feasible || !choice) {
473
+ throw new TypeError(`the selection is not feasible (${selection.reason}), so there is nothing to run`);
474
+ }
475
+ return this.#encode(choice.format, { ...options, quality: choice.quality, lossless: choice.lossless }, choice.candidate);
476
+ }
477
+ #encode(format, options, lattice) {
266
478
  this.#alive();
267
479
  const target = format ?? this.#format;
268
480
  if (target === 'unknown') {
@@ -281,11 +493,11 @@ export class Image {
281
493
  try {
282
494
  module.check(module.exports.tiny_writer_init(writer, 0), 'prepare the encoder');
283
495
  try {
284
- if (this.#after.length === 0) {
496
+ if (this.#after.length === 0 && lattice === undefined) {
285
497
  module.check(module.exports.tiny_plan_encode(this.#plan, module.formatId(target), opts, writer), 'run and encode');
286
498
  }
287
499
  else {
288
- this.#runWithAfter(target, opts, writer);
500
+ this.#runWithAfter(target, opts, writer, lattice);
289
501
  }
290
502
  return module.copyOut(module.exports.tiny_writer_data(writer), module.exports.tiny_writer_size(writer));
291
503
  }
@@ -362,11 +574,13 @@ export class Image {
362
574
  this.#module.check(result, `append a ${what}`);
363
575
  return this;
364
576
  }
365
- #runWithAfter(target, opts, writer) {
577
+ #runWithAfter(target, opts, writer, lattice) {
366
578
  const module = this.#module;
367
579
  const image = module.alloc(module.exports.tiny_image_sizeof());
368
580
  try {
369
- module.check(module.exports.tiny_plan_run(this.#plan, image), 'run the plan');
581
+ module.check(lattice === undefined
582
+ ? module.exports.tiny_plan_run(this.#plan, image)
583
+ : module.exports.tiny_plan_run_lattice(this.#plan, lattice, image), 'run the plan');
370
584
  try {
371
585
  for (const step of this.#after)
372
586
  step(image);
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tinyimg: image decoding, transformation and drawing for Cloudflare Workers.
2
+ * tinyimg: image decoding, transformation and drawing for WebAssembly.
3
3
  *
4
4
  * The module has to arrive already compiled, because workerd refuses to compile wasm from bytes.
5
5
  * Importing the file is what makes it work there; {@link TinyImgModule.loadBytes} is for node, bun
@@ -39,9 +39,9 @@
39
39
  * decodes a region at a reduced scale rather than 16 megapixels, and that decision cannot be made
40
40
  * after the first operation has already run.
41
41
  */
42
- export { Image, mimeFor, type EncodeOptions, type FitOptions } from './image.js';
42
+ export { Image, mimeFor, type AdmitOptions, type EncodeOptions, type FitOptions, type SelectOptions } from './image.js';
43
43
  export { Font, og, type OgOptions, type OgResult, type TextBox, type TextLine, type TextShadow, type TextStyle } from './text.js';
44
44
  export { TRANSFORM_ORDER, apply, artifactKey, transform, type TransformResult } from './transform.js';
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 { Err, TinyImgArgumentError, TinyImgBlobError, TinyImgBudgetError, TinyImgDataError, TinyImgError, TinyImgFormatError, TinyImgMemoryError, TinyImgPlanError, TinyImgTooLargeError, readColor, readSource, type Admission, 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 SelectCandidate, type SelectChoice, type SelectCoverage, type SelectReason, type Selection, type Source, type TransformOptions } from './types.js';
46
46
  export { Feature, SUPPORTED_ABI, TinyImgLoadError, TinyImgModule, type BuiltinBlob, type FeatureName, type Measured, type WorkCounters } from './wasm.js';
47
47
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EACN,KAAK,EACL,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,MAAM,YAAY,CAAC;AACpB,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,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,KAAK,SAAS,EACd,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,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,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,6 +1,6 @@
1
1
  export { Image, mimeFor } from './image.js';
2
2
  export { Font, og } from './text.js';
3
3
  export { TRANSFORM_ORDER, apply, artifactKey, transform } from './transform.js';
4
- export { Err, TinyImgArgumentError, TinyImgBlobError, TinyImgDataError, TinyImgError, TinyImgFormatError, TinyImgMemoryError, TinyImgPlanError, TinyImgTooLargeError, readColor, readSource } from './types.js';
4
+ export { Err, TinyImgArgumentError, TinyImgBlobError, TinyImgBudgetError, TinyImgDataError, TinyImgError, TinyImgFormatError, TinyImgMemoryError, TinyImgPlanError, TinyImgTooLargeError, readColor, readSource } from './types.js';
5
5
  export { Feature, SUPPORTED_ABI, TinyImgLoadError, TinyImgModule } from './wasm.js';
6
6
  //# sourceMappingURL=index.js.map
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,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ts/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EACN,KAAK,EACL,OAAO,EAKP,MAAM,YAAY,CAAC;AACpB,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,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EAuBV,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EAKb,MAAM,WAAW,CAAC"}
package/dist/text.js CHANGED
@@ -160,7 +160,7 @@ export async function og(module, options = {}) {
160
160
  const env_2 = { stack: [], error: void 0, hasError: false };
161
161
  try {
162
162
  const base = __addDisposableResource(env_2, await Image.open(module, await readSource(options.image)), false);
163
- base.fit(width, height, { fit: 'cover' });
163
+ base.autoOrient().fit(width, height, { fit: 'cover' });
164
164
  const raw = await base.pixels();
165
165
  module.check(module.exports.tiny_image_create(image, width, height, 4), 'create the card');
166
166
  const target = new Uint8Array(module.exports.memory.buffer);
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/ts/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/ts/text.ts"],"names":[],"mappings":"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"}
package/dist/tinyimg.wasm CHANGED
Binary file
@@ -39,6 +39,13 @@ export interface TransformResult {
39
39
  * compressor was turned down because the encoder alone was over budget. It never appears when
40
40
  * {@link TransformOptions.compression} named a level.
41
41
  *
42
+ * `'alpha'` means the output format could not carry the transparency the image has: JPEG and
43
+ * AVIF write no alpha plane, and GIF keeps only a one-bit mask, so it is reported when the
44
+ * image has any alpha below 255 for the first two and any partial alpha for GIF. An image
45
+ * whose alpha is all 255 never reports it. WebP, PNG, TIFF and BMP carry alpha in full.
46
+ * The encoder counts the samples it dropped while it converts them, so reporting adds no
47
+ * second run of the plan.
48
+ *
42
49
  * The same lossy-outcome-you-may-want-to-refuse shape as {@link TransformResult.flattened}.
43
50
  */
44
51
  readonly degraded: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAA+B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yBAAyB;IACzB,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC1C,kCAAkC;IAClC,OAAO,IAAI,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,gKAeD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,CA2CpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAqG1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,EAC9B,MAAM,SAA6B,GACjC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAkND,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/ts/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAA+B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAKN,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yBAAyB;IACzB,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC1C,kCAAkC;IAClC,OAAO,IAAI,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,gKAeD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,CA2CpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAuM1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,EAC9B,MAAM,SAA6B,GACjC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAgRD,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC"}