NSImage 相当于 ImageMagick#export_pixels
Posted
技术标签:
【中文标题】NSImage 相当于 ImageMagick#export_pixels【英文标题】:NSImage equivalent of ImageMagick#export_pixels 【发布时间】:2015-01-18 16:30:05 【问题描述】:我正在寻找从 NSImage(和/或 UIImage)中找到 ImageMagick#export_pixels 会产生的等效 NSData 输出。
最终目标是对生成的 NSData 进行 MD5 哈希处理,以将其与图像魔法函数产生的字节生成的 MD5 哈希值进行比较。 (背景:我已经从文件中创建并保存了图像魔术像素数据的 md5 哈希值。如果我将这些相同的文件加载到 ios/OSX 应用程序中,我想生成一个 md5 哈希值以快速检查该文件之前是否已经看过)
我想在不直接拉入 ImageMagick 库的情况下(如果可能的话)直接在 iOS/OSX 上做它,但我是 iOS/OSX 库/框架的新手,当然希望得到一些指导。
提前致谢!
【问题讨论】:
【参考方案1】:您可以通过这种方式访问 UIImage 的原始字节:
CGDataProviderRef provider = CGImageGetDataProvider(image.CGImage);
NSData* data = (id)CFBridgingRelease(CGDataProviderCopyData(provider));
const uint8_t* bytes = [data bytes];
或者,如果您只想从 UIImage 中获取 NSData,您可以这样做:
NSData *imageData = UIImagePNGRepresentation(image);
NSData *imageData = UIImageJPEGRepresentation(image, compression);
【讨论】:
以上是关于NSImage 相当于 ImageMagick#export_pixels的主要内容,如果未能解决你的问题,请参考以下文章
ImageMagick相当于PhotoShop Curves