Bläddra i källkod

Update the definition of ReferenceImage.

- Add support for ImageData
- Breaking: remove support for HTMLCanvasElement
customisations
alemart 9 månader sedan
förälder
incheckning
6d183f7f98

+ 4
- 2
docs/api/reference-image.md Visa fil

@@ -12,6 +12,8 @@ A name used to identify this reference image in a [database](reference-image-dat
12 12
 
13 13
 ### image
14 14
 
15
-`referenceImage.image: HTMLImageElement | HTMLCanvasElement | ImageBitmap, read-only`
15
+`referenceImage.image: HTMLImageElement | ImageBitmap | ImageData, read-only`
16 16
 
17
-Image template with pixel data.
17
+Image template with pixel data.
18
+
19
+*Note:* `ImageData` is acceptable since version 0.4.0.

+ 5
- 1
src/trackers/image-tracker/reference-image-database.ts Visa fil

@@ -132,7 +132,11 @@ export class ReferenceImageDatabase implements Iterable<ReferenceImage>
132 132
             throw new IllegalOperationError(`Can't add reference image "${name}" to the database: the capacity of ${this.capacity} images has been exceeded.`);
133 133
 
134 134
         // check if the image is valid
135
-        if(!(referenceImage.image instanceof HTMLImageElement) && !(referenceImage.image instanceof HTMLCanvasElement) && !(referenceImage.image instanceof ImageBitmap))
135
+        if(
136
+            !(referenceImage.image instanceof HTMLImageElement) &&
137
+            !(referenceImage.image instanceof ImageBitmap) &&
138
+            !(referenceImage.image instanceof ImageData)
139
+        )
136 140
             throw new IllegalArgumentError(`Can't add reference image "${name}" to the database: invalid image`);
137 141
 
138 142
         // check for duplicate names

+ 3
- 3
src/trackers/image-tracker/reference-image.ts Visa fil

@@ -22,7 +22,7 @@
22 22
 
23 23
 import { SpeedyMedia } from 'speedy-vision/types/core/speedy-media';
24 24
 
25
-type ReferenceImageType = HTMLImageElement | HTMLCanvasElement | ImageBitmap;
25
+type ReferenceImageType = HTMLImageElement | ImageBitmap | ImageData;
26 26
 
27 27
 
28 28
 
@@ -44,7 +44,7 @@ export interface ReferenceImage
44 44
 export class ReferenceImageWithMedia implements ReferenceImage
45 45
 {
46 46
     /** The decorated reference image */
47
-    private _referenceImage: ReferenceImage;
47
+    private readonly _referenceImage: ReferenceImage;
48 48
 
49 49
     /** A SpeedyMedia corresponding to the reference image */
50 50
     private readonly _media: SpeedyMedia;
@@ -89,7 +89,7 @@ export class ReferenceImageWithMedia implements ReferenceImage
89 89
     }
90 90
 
91 91
     /**
92
-     * The image data
92
+     * Image data
93 93
      */
94 94
     get image(): ReferenceImageType
95 95
     {

Laddar…
Avbryt
Spara