Я использую AssetPicker
библиотека изображений. Мой запрос, я захвачу режим изображение портрета и отображения изображения с моей точки зрения изображения и зеркально отразить изображение по горизонтали для изображения крахмала и не правильно показывать ..Редактирование изображения iOS
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
__weak typeof(self) weakSelf = self;
if (CFStringCompare((CFStringRef) [info object ForKey:UIImagePickerControllerMediaType], kUTTypeImage, 0) == kCFCompareEqualTo)
{
if(self.segmentedControl.selectedSegmentIndex ==1 && self.segmentedControl.hidden == NO)
{
self.segmentedControl.selectedSegmentIndex = 0;
[self changeAssetType:YES endBlock:^{
_strong typeof(weakSelf) strongSelf = weakSelf;
UIImage *image = info[UIImagePickerControllerOriginalImage];
[[NSNotificationCenter defaultCenter] removeObserver:strongSelf name:ALAssetsLibraryChangedNotification object:nil];
[strongSelf.assetsLibrary writeImageToSavedPhotosAlbum:image.CGImage metadata:info[UIImagePickerControllerMediaMetadata] completionBlock:^(NSURL *assetURL, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[self saveAssetsAction:assetURL error:error isPhoto:YES];
});
DLog(@"writeImageToSavedPhotosAlbum");
}];
}];
}
else
{
UIImage *image = info[UIImagePickerControllerOriginalImage];
[[NSNotificationCenter defaultCenter] removeObserver:self name:ALAssetsLibraryChangedNotification object:nil];
[self.assetsLibrary writeImageToSavedPhotosAlbum:image.CGImage metadata:info[UIImagePickerControllerMediaMetadata] completionBlock:^(NSURL *assetURL, NSError *error) {
__strong typeof(weakSelf) strongSelf = weakSelf;
dispatch_async(dispatch_get_main_queue(), ^{
[strongSelf saveAssetsAction:assetURL error:error isPhoto:YES];
});
DLog(@"writeImageToSavedPhotosAlbum");
}];
}
}
else
{
if(self.segmentedControl.selectedSegmentIndex ==0 && self.segmentedControl.hidden == NO)
{
self.segmentedControl.selectedSegmentIndex = 1;
[self changeAssetType:NO endBlock:^{
__strong typeof(weakSelf) strongSelf = weakSelf;
[[NSNotificationCenter defaultCenter] removeObserver:strongSelf name:ALAssetsLibraryChangedNotification object:nil];
[strongSelf.assetsLibrary writeVideoAtPathToSavedPhotosAlbum:info[UIImagePickerControllerMediaURL] completionBlock:^(NSURL *assetURL, NSError *error) {
DLog(@"assetURL %@",assetURL);
dispatch_async(dispatch_get_main_queue(), ^{
[self saveAssetsAction:assetURL error:error isPhoto:NO];
});
}];
}];
}
else
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:ALAssetsLibraryChangedNotification object:nil];
[self.assetsLibrary writeVideoAtPathToSavedPhotosAlbum:info[UIImagePickerControllerMediaURL] completionBlock:^(NSURL *assetURL, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[self saveAssetsAction:assetURL error:error isPhoto:NO];
});
}];
}
}
[picker dismissViewControllerAnimated:YES completion:^{}];
}
зеркально отразить изображение по горизонтали мой код
UIImage *sourceImage = originalimg;
CIImage *coreImage = [CIImage imageWithCGImage:sourceImage.CGImage];
UIImage *imgMirror = [UIImage imageWithCIImage:coreImage scale:sourceImage.scale orientation:UIImageOrientationUpMirrored];
CGRect rect = CGRectMake(0, 0, originalimg.size.width, originalimg.size.height);
UIGraphicsBeginImageContext(rect.size);
[imgMirror drawInRect:rect];
originalimg = UIGraphicsGetImageFromCurrentImageContext();
imgview2.image = originalimg;
UIGraphicsEndImageContext();
Ваш вопрос/работа совершенно неясна ... Вы говорите, что ваше изображение растянуто, и что не так? –
у вас должно быть достаточно очков репутации, чтобы загрузить изображение, показывающее провал. Мы понятия не имеем, что вам нужно ... –