123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var FaceLandmarks_1 = require("../classes/FaceLandmarks");
- var FaceLandmarks68_1 = require("../classes/FaceLandmarks68");
- var getContext2dOrThrow_1 = require("../dom/getContext2dOrThrow");
- var WithFaceLandmarks_1 = require("../factories/WithFaceLandmarks");
- var drawContour_1 = require("./drawContour");
- var DrawFaceLandmarksOptions = /** @class */ (function () {
- function DrawFaceLandmarksOptions(options) {
- if (options === void 0) { options = {}; }
- var _a = options.drawLines, drawLines = _a === void 0 ? true : _a, _b = options.drawPoints, drawPoints = _b === void 0 ? true : _b, lineWidth = options.lineWidth, lineColor = options.lineColor, pointSize = options.pointSize, pointColor = options.pointColor;
- this.drawLines = drawLines;
- this.drawPoints = drawPoints;
- this.lineWidth = lineWidth || 1;
- this.pointSize = pointSize || 2;
- this.lineColor = lineColor || 'rgba(0, 255, 255, 1)';
- this.pointColor = pointColor || 'rgba(255, 0, 255, 1)';
- }
- return DrawFaceLandmarksOptions;
- }());
- exports.DrawFaceLandmarksOptions = DrawFaceLandmarksOptions;
- var DrawFaceLandmarks = /** @class */ (function () {
- function DrawFaceLandmarks(faceLandmarks, options) {
- if (options === void 0) { options = {}; }
- this.faceLandmarks = faceLandmarks;
- this.options = new DrawFaceLandmarksOptions(options);
- }
- DrawFaceLandmarks.prototype.draw = function (canvasArg) {
- var ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvasArg);
- var _a = this.options, drawLines = _a.drawLines, drawPoints = _a.drawPoints, lineWidth = _a.lineWidth, lineColor = _a.lineColor, pointSize = _a.pointSize, pointColor = _a.pointColor;
- if (drawLines && this.faceLandmarks instanceof FaceLandmarks68_1.FaceLandmarks68) {
- ctx.strokeStyle = lineColor;
- ctx.lineWidth = lineWidth;
- drawContour_1.drawContour(ctx, this.faceLandmarks.getJawOutline());
- drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEyeBrow());
- drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEyeBrow());
- drawContour_1.drawContour(ctx, this.faceLandmarks.getNose());
- drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEye(), true);
- drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEye(), true);
- drawContour_1.drawContour(ctx, this.faceLandmarks.getMouth(), true);
- }
- if (drawPoints) {
- ctx.strokeStyle = pointColor;
- ctx.fillStyle = pointColor;
- var drawPoint = function (pt) {
- ctx.beginPath();
- ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI);
- ctx.fill();
- };
- this.faceLandmarks.positions.forEach(drawPoint);
- }
- };
- return DrawFaceLandmarks;
- }());
- exports.DrawFaceLandmarks = DrawFaceLandmarks;
- function drawFaceLandmarks(canvasArg, faceLandmarks) {
- var faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks];
- faceLandmarksArray.forEach(function (f) {
- var landmarks = f instanceof FaceLandmarks_1.FaceLandmarks
- ? f
- : (WithFaceLandmarks_1.isWithFaceLandmarks(f) ? f.landmarks : undefined);
- if (!landmarks) {
- throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks<WithFaceDetection<{}>> or array thereof');
- }
- new DrawFaceLandmarks(landmarks).draw(canvasArg);
- });
- }
- exports.drawFaceLandmarks = drawFaceLandmarks;
- //# sourceMappingURL=DrawFaceLandmarks.js.map
|