UNPKG

ngx-webcam2

Version:

A simple Angular webcam component. Pure &amp; minimal, no Flash-fallback. <a href="https://basst314.github.io/ngx-webcam/?" target="_blank">See the Demo!</a>

46 lines 4.71 kB
/** * Container class for a captured webcam image * @author basst314, davidshen84 */ export class WebcamImage { constructor(imageAsDataUrl, mimeType, imageData) { this._mimeType = null; this._imageAsBase64 = null; this._imageAsDataUrl = null; this._imageData = null; this._mimeType = mimeType; this._imageAsDataUrl = imageAsDataUrl; this._imageData = imageData; } /** * Extracts the Base64 data out of the given dataUrl. * @param dataUrl the given dataUrl * @param mimeType the mimeType of the data */ static getDataFromDataUrl(dataUrl, mimeType) { return dataUrl.replace(`data:${mimeType};base64,`, ''); } /** * Get the base64 encoded image data * @returns base64 data of the image */ get imageAsBase64() { return this._imageAsBase64 ? this._imageAsBase64 : this._imageAsBase64 = WebcamImage.getDataFromDataUrl(this._imageAsDataUrl, this._mimeType); } /** * Get the encoded image as dataUrl * @returns the dataUrl of the image */ get imageAsDataUrl() { return this._imageAsDataUrl; } /** * Get the ImageData object associated with the canvas' 2d context. * @returns the ImageData of the canvas's 2d context. */ get imageData() { return this._imageData; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLWltYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXdlYmNhbS8iLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy93ZWJjYW0vZG9tYWluL3dlYmNhbS1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFtQixjQUFzQixFQUFFLFFBQWdCLEVBQUUsU0FBb0I7UUFNaEUsY0FBUyxHQUFXLElBQUksQ0FBQztRQUNsQyxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUNyQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUMvQixlQUFVLEdBQWMsSUFBSSxDQUFDO1FBUjVDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFRRDs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQWUsRUFBRSxRQUFnQjtRQUNqRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxRQUFRLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDOUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGFpbmVyIGNsYXNzIGZvciBhIGNhcHR1cmVkIHdlYmNhbSBpbWFnZVxuICogQGF1dGhvciBiYXNzdDMxNCwgZGF2aWRzaGVuODRcbiAqL1xuZXhwb3J0IGNsYXNzIFdlYmNhbUltYWdlIHtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoaW1hZ2VBc0RhdGFVcmw6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZywgaW1hZ2VEYXRhOiBJbWFnZURhdGEpIHtcbiAgICB0aGlzLl9taW1lVHlwZSA9IG1pbWVUeXBlO1xuICAgIHRoaXMuX2ltYWdlQXNEYXRhVXJsID0gaW1hZ2VBc0RhdGFVcmw7XG4gICAgdGhpcy5faW1hZ2VEYXRhID0gaW1hZ2VEYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWltZVR5cGU6IHN0cmluZyA9IG51bGw7XG4gIHByaXZhdGUgX2ltYWdlQXNCYXNlNjQ6IHN0cmluZyA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ltYWdlQXNEYXRhVXJsOiBzdHJpbmcgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbWFnZURhdGE6IEltYWdlRGF0YSA9IG51bGw7XG5cblxuICAvKipcbiAgICogRXh0cmFjdHMgdGhlIEJhc2U2NCBkYXRhIG91dCBvZiB0aGUgZ2l2ZW4gZGF0YVVybC5cbiAgICogQHBhcmFtIGRhdGFVcmwgdGhlIGdpdmVuIGRhdGFVcmxcbiAgICogQHBhcmFtIG1pbWVUeXBlIHRoZSBtaW1lVHlwZSBvZiB0aGUgZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RGF0YUZyb21EYXRhVXJsKGRhdGFVcmw6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiBkYXRhVXJsLnJlcGxhY2UoYGRhdGE6JHttaW1lVHlwZX07YmFzZTY0LGAsICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGFcbiAgICogQHJldHVybnMgYmFzZTY0IGRhdGEgb2YgdGhlIGltYWdlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGltYWdlQXNCYXNlNjQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faW1hZ2VBc0Jhc2U2NCA/IHRoaXMuX2ltYWdlQXNCYXNlNjRcbiAgICAgIDogdGhpcy5faW1hZ2VBc0Jhc2U2NCA9IFdlYmNhbUltYWdlLmdldERhdGFGcm9tRGF0YVVybCh0aGlzLl9pbWFnZUFzRGF0YVVybCwgdGhpcy5fbWltZVR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZW5jb2RlZCBpbWFnZSBhcyBkYXRhVXJsXG4gICAqIEByZXR1cm5zIHRoZSBkYXRhVXJsIG9mIHRoZSBpbWFnZVxuICAgKi9cbiAgcHVibGljIGdldCBpbWFnZUFzRGF0YVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pbWFnZUFzRGF0YVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIEltYWdlRGF0YSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW52YXMnIDJkIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIHRoZSBJbWFnZURhdGEgb2YgdGhlIGNhbnZhcydzIDJkIGNvbnRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGltYWdlRGF0YSgpOiBJbWFnZURhdGEge1xuICAgIHJldHVybiB0aGlzLl9pbWFnZURhdGE7XG4gIH1cblxufVxuIl19