проверьте размер изображения в Xcode - PullRequest
0 голосов
/ 20 июня 2011

Когда я копирую некоторые файлы изображений (только в формате PNG) в свое приложение в Xcode, изменяется ли размер изображения?

Альтернативно, как я могу проверить размер моего изображения PNG в xcode?

Заранее спасибо!

Ответы [ 4 ]

6 голосов
/ 20 июня 2011

Вот как вы можете напечатать размер в байтах:

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

NSLog(@"MyImage size in bytes:%i",[UIImagePNGRepresentation(myImage) length]);
1 голос
/ 20 июня 2011

Вы создаете UIImageView, а затем распечатываете фрейм вашего нового UIImageView

UIImageView imageView = [[UIImageView alloc] initWithImage:[[UIImage alloc] initWithData:/*image path */];
NSLog(@"photoLoaderDidLoad: self.frame %@",NSStringFromCGRect(imageView.frame));
1 голос
/ 20 июня 2011

PNG файлы не изменяются при добавлении их в проект Xcode.Они сжимаются с помощью pngcrush во время сборки.Вы можете щелкнуть правой кнопкой мыши по результату .app и просмотреть содержимое пакета, чтобы увидеть окончательные размеры файлов изображений.

Или, если вы говорите не о размере файла, а о размере пикселя, вы можете загрузитьизображение в UIImage и запросить его свойство "size".

0 голосов
/ 21 сентября 2011
- (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];
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...