小编ale*_*x-i的帖子

在iOS上使用修改后的元数据(无重新编码)保存原始图像数据

我想在临时文件夹中保存一些元数据更改的图像,而不重新编码实际的图像数据.

我发现能够做到这一点的唯一方法是ALAssetsLibrary/writeImageDataToSavedPhotosAlbum:metadata:completionBlock:但是,这个将图像保存到照片库.相反,我想将图像保存到临时文件夹(例如,通过电子邮件共享它,而不填充照片库).

我尝试过使用CGImageDestinationRef(CGImageDestinationAddImageFromSource),但它只能使用解码图像创建,这意味着它在保存时会重新编码(测试时,像素字节看起来不同).

除了使用CGImageDestinationRef?还有其他可用于iOS的方法/类可以保存图像数据和元数据吗?对于变通方法的建议也会受到欢迎.

metadata image objective-c ios

13
推荐指数
1
解决办法
6871
查看次数

将缩略图添加/传递(exif)到CGImageDestinationRef

CGImageDestinationRef Apple的参考文献中,它提到It can contain thumbnail images as well as properties for each image.具有属性的部分很好,通过properties在添加图像时设置参数CGImageDestinationRef,但我无法弄清楚如何添加缩略图.

我想添加一个缩略图(或直接从a传递CGImageSourceRef)CGImageDestinationRef,这样当打开结果图像时,CGImageSourceRef我可以使用它CGImageSourceCreateThumbnailAtIndex来检索原始缩略图.

NSDictionary* thumbOpts = [NSDictionary dictionaryWithObjectsAndKeys:
                                       (id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailWithTransform,
                                       (id)kCFBooleanFalse, (id)kCGImageSourceCreateThumbnailFromImageIfAbsent,
                                       [NSNumber numberWithInt:128], (id)kCGImageSourceThumbnailMaxPixelSize, 
                                       nil];
CGImageRef thumb = CGImageSourceCreateThumbnailAtIndex(iSource, 0, (CFDictionaryRef)thumbOpts);
Run Code Online (Sandbox Code Playgroud)

上面的代码返回存储它的图像的缩略图,但是当我通过图像时CGImageDestinationRef,缩略图会丢失.

有没有办法保留原始缩略图(或创建一个新缩略图)?CGImageProperties Reference似乎没有任何键来存储缩略图.

cocoa exif objective-c cgimage

6
推荐指数
1
解决办法
723
查看次数

xctest - 预处理器宏

是否可以在(测试)目标设置或测试.pch文件中定义宏,以便将其传递给整个应用程序?
或者是否有任何宏可用于检查(来自代码)我们是否正在运行测试?

例如:

#if TEST=1
  // do something
#else
  // do something else
#endif
Run Code Online (Sandbox Code Playgroud)

我想要这个的原因是在测试期间跳过一些代码,断言等(每次我运行测试时都不必在主应用程序.pch中更改#define).

谢谢.

xcode xctest

6
推荐指数
1
解决办法
2233
查看次数

标签 统计

objective-c ×2

cgimage ×1

cocoa ×1

exif ×1

image ×1

ios ×1

metadata ×1

xcode ×1

xctest ×1