浏览代码

Update the definition of ReferenceImage.

- Add support for ImageData
- Breaking: remove support for HTMLCanvasElement
customisations
alemart 9 个月前
父节点
当前提交
6d183f7f98

+ 4
- 2
docs/api/reference-image.md 查看文件

12
 
12
 
13
 ### image
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 查看文件

132
             throw new IllegalOperationError(`Can't add reference image "${name}" to the database: the capacity of ${this.capacity} images has been exceeded.`);
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
         // check if the image is valid
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
             throw new IllegalArgumentError(`Can't add reference image "${name}" to the database: invalid image`);
140
             throw new IllegalArgumentError(`Can't add reference image "${name}" to the database: invalid image`);
137
 
141
 
138
         // check for duplicate names
142
         // check for duplicate names

+ 3
- 3
src/trackers/image-tracker/reference-image.ts 查看文件

22
 
22
 
23
 import { SpeedyMedia } from 'speedy-vision/types/core/speedy-media';
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
 export class ReferenceImageWithMedia implements ReferenceImage
44
 export class ReferenceImageWithMedia implements ReferenceImage
45
 {
45
 {
46
     /** The decorated reference image */
46
     /** The decorated reference image */
47
-    private _referenceImage: ReferenceImage;
47
+    private readonly _referenceImage: ReferenceImage;
48
 
48
 
49
     /** A SpeedyMedia corresponding to the reference image */
49
     /** A SpeedyMedia corresponding to the reference image */
50
     private readonly _media: SpeedyMedia;
50
     private readonly _media: SpeedyMedia;
89
     }
89
     }
90
 
90
 
91
     /**
91
     /**
92
-     * The image data
92
+     * Image data
93
      */
93
      */
94
     get image(): ReferenceImageType
94
     get image(): ReferenceImageType
95
     {
95
     {

正在加载...
取消
保存