2012-02-13 38 views
0

在iPhone中分享图像时,我们有机会选择不同尺寸的图像 - 小,中,大,原始。并有机会看到每个分类的KB/MB大小。Apple的Mail应用程序的小,中,大,原始图像功能在哪里?

  1. 苹果公开此代码以供用户使用?我无法在iOS文档的搜索中找到它。
  2. 什么是一些测试&尝试在GitHub或其他地方可以模拟此行为的框架/方法?

EDITED: 我评价张贴由布拉德拉尔森溶液: UIImage: Resize, then Crop 通过确认经由以下给出的尺寸测量溶液中尺寸的减小。 他们在一起很合适。

+0

@Kashiv请不要改变问题的所要的标题。 – pulkitsinghal 2012-02-13 17:49:40

+0

对不起,我以为你是专门询问压缩的吗 – akashivskyy 2012-02-13 18:11:42

+0

2012-02-22 00:24:24.130拍了一张照片.................. 2012-02-22 00 :24:24.136原始2592x1936(19.14 MB)... 2012-02-22 00:24:24.300原始100x100(0.04 MB)...... – pulkitsinghal 2012-02-22 06:28:06

回答

1
  1. 苹果公开哪些代码供用户利用?我无法在iOS文档的搜索中找到它。

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; 

现在,你有你的图像大小字节

将其转换为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]; 
+1

压缩怎么办? – JustSid 2012-02-13 15:59:17

+0

你的意思是如何压缩图像或如何读取它是否被压缩? – akashivskyy 2012-02-13 16:13:59

+1

我的意思是,如何计算压缩图像的目标大小,而不是先进行缩放和压缩。 – JustSid 2012-02-13 16:33:20

相关问题