Я работаю в приложении iOS, где я хочу выбрать прямоугольник карты из захваченного изображения с помощью камеры. Поэтому, если кто-нибудь знает какое-либо решение, пожалуйста, дайте мне знать. Спасибо.выбрать прямоугольник карты из снятого изображения iOS
ответ
Мой код ниже:
/**
* Cut out a image to a new image with the rect
*
* @param image UIImage image origin image
* @param rect CGRect rect the rect area you want
*
* @return UIImage
*/
+ (UIImage *)ct_imageFromImage:(UIImage *)image inRect:(CGRect)rect{
CGFloat scale = [UIScreen mainScreen].scale;
CGFloat x= rect.origin.x*scale,y=rect.origin.y *scale,w=rect.size.width*scale,h=rect.size.height*scale;
CGRect dianRect = CGRectMake(x, y, w, h);
//cut the image with the rect area
CGImageRef sourceImageRef = [image CGImage];
CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, dianRect);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];
return newImage;
}
Спасибо @ самолет за ваш ответ. У меня только один запрос, что здесь будет значение параметра rect здесь –
@PradumnaPatil, мой метод должен быть помещен в файл 'Util', а после вашего захвата фотографии вызывается метод, помещается в фотоизображение и прямоугольник, который вы хотите, вы можете получить нужный результат. – aircraft
Да, я поместил ваш метод в класс Util, но должен ли я не понимать, что мне следует поместить в исходные параметры, можете ли вы объяснить. Спасибо –
ваш 'выбрать карту прямоугольник из захваченной image' означает вырезать из изображения? – aircraft
Да, я хочу вырезать изображение, и результирующее изображение должно быть прямоугольником прямоугольника. –