С помощью метода toBlob () все работает. Вот код работы:
public capture() {
const ctx = this.canvas.nativeElement.getContext('2d');
ctx.drawImage(this.video.nativeElement, 0, 0, this.video.nativeElement.width, this.video.nativeElement.height);
this.canvas.nativeElement.toBlob((result) => {
this.img = result;
console.log(this.img);
this.detectFace(this.img);
this.detectSkinColor(this.img);
});
}
Это кажется, что у Вас есть круговая проблема зависимости. Для разрешения его, да, каждый файл реализации (.m
) потребности к #import
надлежащий заголовочный файл. Однако, при попытке иметь заголовочные файлы #import
друг друга, Вы столкнетесь с проблемами.
Для использования наследования необходимо знать размер суперкласса, что означает, что Вы должны #import
это. Для других вещей, тем не менее, таких как членские переменные, которые являются указателями или методами, которые берут в качестве параметра или возвращают другой тип, Вам на самом деле не нужно определение класса, таким образом, можно использовать ссылку вперед для разрешения ошибок компилятора.
// bar.h
@class A; // forward declaration of class A -- do not to #import it here
@interface bar : UIViewController
{
A *member; // ok
}
- (A) method:(A)parameter; // also ok
@end
// bar.m
#import "bar.h"
#import "A.h"
// can now use bar & A without any errors or warnings