Где можно найти маленькие, средние, большие оригинальные функции изображений в приложении Apple Mail? - PullRequest
0 голосов
/ 13 февраля 2012

При совместном использовании изображения в iPhone нам предоставляется возможность выбирать изображения разных размеров - Маленькое, Среднее, Большое, Оригинальное.И возможность увидеть размер в КБ / МБ вместе с каждой классификацией.

  1. Где Apple предоставляет этот код пользователям для использования?Я не смог обнаружить его в своих поисках в документации по iOS.
  2. Какие тестируемые и испытанные фреймворки / методы доступны на GitHub или в других местах, которые могут эмулировать это поведение?

РЕДАКТИРОВАНИЕ:Я оценил решение, опубликованное Брэдом Ларсоном: UIImage: Resize, затем Crop Подтвердив уменьшение размера с помощью решения для измерения размера, приведенного ниже.Вместе они хорошо подходят друг другу.

1 Ответ

1 голос
/ 13 февраля 2012
  1. Где Apple предоставляет этот код пользователям для использования?Я не смог найти его в своих поисках в документах iOS.

iOS не является проектом с открытым исходным кодом.Apple выпускает только пример кода, который используется как пример учебного проекта.


Вот статья относительно расчета размера файла изображения.

Это очень просто, хотя,Вот код:

UIImage *image = [UIImage imageNamed:@"your_big_image.png"];

size_t depth = CGImageGetBitsPerPixel(image.CGImage);
size_t width = CGImageGetWidth(image.CGImage);
size_t height = CGImageGetHeight(image.CGImage);

double bytes = ((double)width * (double)height * (double)depth) / 8.0;

Теперь у вас есть размер изображения в байтах .

Чтобы преобразовать его в кБ, разделите его на 1024. Если вы хотите получить МБ, разделите на 1048576 (1024x1024) .

double kb = bytes / 1024.0f;
double mb = bytes / 1048576.0f

Затем вы можете отобразить его своему пользователю, отформатировав сообщение следующим образом:

NSString *msg = [NSString stringWithFormat:@"Original %dx%d (%.2f MB)", (int)width,(int)height, (float)mb];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...