Несовместимые типы указателей, отправляющие "UIImageView" параметру типа "UIImage*" (xcode5)

Я получаю сообщение об ошибке в этой строке кода:

GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:_imagView];

И это ошибка:

Incompatible pointer types sending 'UIImageView' to parameter of type 'UIImage*'

Кто-нибудь знает, что я должен делать?

2 ответа

Решение

вопрос

Передача аргумента UIImageView вместо UIImage

Решение

Изменить код обратно на:

GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:_imagView.image];

Фон:

UIImageView используется для отображения UIImage в иерархии представлений. UIImage - это изображение; UIImageView - это то, что рисует его, поэтому он включает его положение на контроллере представления, как его растянуть, z-порядок, альфа и т. д. Существуют и другие способы отображения изображения, которое вы можете использовать, если пишете свой собственный UIView. подкласс.

Непосредственная проблема:

UIImageView не является UIImage. UIImageView имеет UIImage, тем не менее, так что вы можете просто использовать это:

GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:_imageView.image];
Другие вопросы по тегам