0
이미지 자르기에 문제가 있습니다.1 : 1로 이미지 자르기 및 크기 조정
내 흐름은 : 모두 665 X 985 픽셀 다음 크기의 이미지) 그것을 665 X 665 픽셀을 자르기가있는 경우 (예를 들어 1 :
1) (1)에 이미지를 자르.
2) 크기를 612 X 612 픽셀로 같은 크기로 조정합니다. 이를 위해
내가 사용하는 코드이다
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
NSData *d=UIImagePNGRepresentation(image);
CGFloat pic_crop;
NSLog(@"Size of Image(bytes):%lu",(unsigned long)[d length]);
NSLog(@" original Image Size :%.2f \n",(float)d.length/1024.0f/1024.0f);
NSLog(@"Original height --->%f",image.size.height);
NSLog(@"Original width --->%f",image.size.width);
if (image.size.height > image.size.width) {
pic_crop=image.size.width;
NSLog(@"%f",image.size.width);
}
else{
pic_crop=image.size.height;
NSLog(@"%f",image.size.height);
}
그럼, 그것을 잘라내 높이 미만이면, 높이 치수 또는 폭 크기로 자르기!
_previewImage.frame = CGRectMake(
_previewImage.frame.origin.x,
_previewImage.frame.origin.y, pic_crop, pic_crop);
UIImage *croppedImage = [image croppedImage:CGRectMake((image.size.width -_previewImage.frame.size.width)/2, (image.size.height -_previewImage.frame.size.height)/2, _previewImage.frame.size.width, _previewImage.frame.size.height)];
NSLog(@"crop height --->%f",croppedImage.size.height);
NSLog(@"crop width --->%f",croppedImage.size.width);
NSData *d2=UIImagePNGRepresentation(croppedImage);
NSLog(@"Size of Image(bytes):%lu",(unsigned long)[d2 length]);
NSLog(@" After compression :%.2f \n",(float)d2.length/1024.0f/1024.0f);
그럼 내가
CGSize newSize;
newSize = CGSizeMake(612 , 612);
UIGraphicsBeginImageContext(newSize);
[croppedImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
이 내가이 일을 수행하는 방법이 있지만 장치 시뮬레이터에서 완벽하게 잘 실행이며, 612 X 612 픽셀로 크기를 조정!
장치에서 그림을 많이 축소합니다! 제발 도와주세요! 미리 감사드립니다.
나는 형제를 시험하게하고 답장을 보내주게한다. –