2011-06-20 91 views
0

當我在Xcode中將一些圖像文件(僅限PNG格式)複製到我的應用程序中時,是否更改了圖像的大小?檢查Xcode中的圖像大小

或者,我如何檢查xcode中的PNG圖像的大小?

在此先感謝!

回答

6

這裏是你如何可以打印字節大小:

UIImage *myImage = [UIImage imageNamed:@"xxx.png"]; 

NSLog(@"MyImage size in bytes:%i",[UIImagePNGRepresentation(myImage) length]); 
1

將PNG文件添加到Xcode項目時,PNG文件保持不變。它們在構建時與pngcrush壓縮在一起。您可以右鍵單擊您的.app結果,然後查看軟件包內容以查看圖像的最終文件大小。

或者,如果您不是在討論文件大小,而是像素大小,那麼您可以將圖像加載到UIImage並查詢其「大小」屬性。

1

您創建的UIImageView,然後打印新的UIImageView的框架

UIImageView imageView = [[UIImageView alloc] initWithImage:[[UIImage alloc] initWithData:/*image path */]; 
NSLog(@"photoLoaderDidLoad: self.frame %@",NSStringFromCGRect(imageView.frame)); 
0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)editInfo{ 
    UIImage *image=[editInfo valueForKey:UIImagePickerControllerOriginalImage]; 
    NSURL *imageURL=[editInfo valueForKey:UIImagePickerControllerReferenceURL]; 
    __block long long realSize; 

    ALAssetsLibraryAssetForURLResultBlock resultBlock=^(ALAsset *asset) 
    { 
     ALAssetRepresentation *representation=[asset defaultRepresentation]; 
     realSize=[representation size]; 
    }; 

    ALAssetsLibraryAccessFailureBlock failureBlock=^(NSError *error) 
    { 
     NSLog(@"%@", [error localizedDescription]); 
    }; 

    if(imageURL) 
    { 
     ALAssetsLibrary *assetsLibrary=[[[ALAssetsLibrary alloc] init] autorelease]; 
     [assetsLibrary assetForURL:imageURL resultBlock:resultBlock failureBlock:failureBlock]; 
    } 
}