1

同じ問題についてstackoverflowでさまざまな投稿を見てきましたが、どれもうまくいかなかったため、クエリを投稿しています

UIImageView画像ギャラリーから画像を選択してインスタンスに配置するアプリケーションに取り組んでいます

drawImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"abc.png"]];
[drawImage setContentMode:UIViewContentModeScaleToFill];
drawImage.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
drawImage.clipsToBounds = YES;

[drawImage setFrame:self.view.frame];
NSLog(@"%@",NSStringFromCGSize(drawImage.frame.size));
[self.view addSubview:drawImage];

これは画像ギャラリーのコードです

imagePickerObj.sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;
imagePickerObj.allowsEditing=YES;

ギャラリーから画像を選択するときは、以下のコードを使用しています

UIImage *img = [info objectForKey:UIImagePickerControllerEditedImage];
NSLog(@" B4 crop Image size %@",NSStringFromCGSize(img.size));
NSLog(@" B4 crop DrawImage size %@",NSStringFromCGSize(drawImage.frame.size));

UIGraphicsBeginImageContext(drawImage.frame.size);
[img drawInRect:CGRectMake(0,0,drawImage.frame.size.width,drawImage.frame.size.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

NSLog(@"After crop Image size %@",NSStringFromCGSize(newImage.size));
UIGraphicsEndImageContext();


// drawImage.clipsToBounds = YES;
drawImage.image = newImage;

問題は、どの画像を選択しても、追加した上記のコードから常に少し引き伸ばされているようにUIGraphicsBeginImageContext見えることです。これにより、画像の幅と高さが減少しますが、それでも引き伸ばされているように見えます。

画像ビューのコンテンツ モードを and に変更しようとしましAspectFillAspectFitが、残念ながらまったくうまくいきませんでした。

私が間違っているところを教えてもらえますか?

4

0 に答える 0