2012-08-01 149 views
0

我需要使用image heightwidth。我的800*800像素image在我的ios simulator中。但是,当我发现的image使用iPhone中的图片尺寸不正确

image.size.width and image.size.height 

它给我315*120这是不正确为何如此规模?

- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info 
{ 
    NSLog(@"%@",info); 

    int temp = [[DataManager sharedObj] imageCount]; 

    for(NSDictionary *dict in info) 
    { 
     [[DataManager sharedObj] setImageCount:temp+1]; 

     NSMutableDictionary* dataDic = [[NSMutableDictionary alloc] init]; 

     UIImage* img = [dict objectForKey:UIImagePickerControllerOriginalImage]; 

     NSLog(@"%.2f",img.size.width); 
     NSLog(@"%.2f",img.size.height); 
    } 

} 

回答

1

尝试拨打image.frame = cgrectmake(x, y, 800, 800)

如果你有一个UIImageView *image而不是UIImage *image,很可能你会得到视图的框架而不是图像。


解决:
改变你的ELCImagePickerController.m的33线fullScreenImagefullResolutionImage

+0

但我不知道每个image.so的大小如何我可以做到这一点。图像的帧大小不是帧 – test 2012-08-01 09:15:17

+0

你确定'图像'是'UIImage'而不是'UIImageView'的帧大小为315 * 120? – elp 2012-08-01 09:21:10

+0

yes图像是UIImage – test 2012-08-01 09:27:19

0

您可以使用此

UIImage *imageS = [dict objectForKey:UIImagePickerControllerOriginalImage]; 

NSLog(@"width = %.2f, height = %.2f", imageS.size.width, imageS.size.height); 
NSLog(@"Image Size = %@",NSStringFromCGSize(imageS.size)); 

这两条线将下班图像尺寸。

它会打印正确。请再次检查您的模拟器图像。如果你通过谷歌添加它可能我你已经保存了图像缩略图,而不是原始图像,这就是为什么你得到的大小错误。否则获取图像大小的方法是正确的。