Apple的Mail应用程序中的小型,中型,大型原始图像功能在哪里?

时间:2012-02-13 14:42:24

标签: iphone ios

在iPhone中共享图像时,我们有机会选择不同尺寸的图像 - 小,中,大,原始。还有机会看到KB / MB的大小以及每个分类。

  1. Apple在哪里公开此代码供用户使用?我无法在iOS文档的搜索中发现它。
  2. 有哪些经过测试的&尝试过可以模仿这种行为的GitHub或其他地方可用的框架/方法吗?
  3. EDITED: 我评估了Brad Larson发布的解决方案: UIImage: Resize, then Crop 通过下面给出的尺寸测量溶液确认尺寸减小。 他们在一起很合适。

1 个答案:

答案 0 :(得分:1)

  
      
  1. Apple在哪里公开此代码供用户使用?我无法在iOS文档的搜索中发现它。
  2.   

iOS不是开源项目。 Apple仅发布示例代码,用于教程示例项目。


Here's an article关于图像文件大小的加速。

但这很简单。这是代码:

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;

现在您的图片大小为 bytes

将其转换为kB将其除以1024.如果要获得MB,除以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];