在iPhone中共享图像时,我们有机会选择不同尺寸的图像 - 小,中,大,原始。还有机会看到KB / MB的大小以及每个分类。
EDITED: 我评估了Brad Larson发布的解决方案: UIImage: Resize, then Crop 通过下面给出的尺寸测量溶液确认尺寸减小。 他们在一起很合适。
答案 0 :(得分:1)
- Apple在哪里公开此代码供用户使用?我无法在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;
现在您的图片大小为 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];