Несовместимые типы указателей, отправляющие "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];