[英]NSData -> UIImage -> NSData?
经过类似的事情
NSData *originalImageData = [NSData dataWithContentsOfFile:@"somefolder\somepicture.jpg"];
UIImage *theImage = [UIImage imageWithData:originalImageData];
有什么方法可以从UIImage对象获取实际的NSData吗?
功能
NSData *newImageData = UIImageJPEGRepresentation(theImage, 1.0);
不会返回相同的NSData,我认为这是由于压缩(或压缩)所致。 我想这可能适用于.png文件(无压缩),但是.pngs更大,不适合我在做什么。
最后,我主要只是在寻找一种制作方式
[newImageData isEqualToData:originalImageData]
评估为真实。
否。无法从图像中获取原始数据。 如果以后需要,则必须将数据存储在某个地方。
您可以看一下这些主题,以获取有关iOS中图像处理的更多信息:
可能最好是存储图像的哈希值(MD5),然后比较2个哈希值。...您可以创建一个UI5继承自MDImage的MD5UIImage,并带有一个属性来存储MD5 + NSData + MD5类别以计算MD5 ... Google“ NSDATA + MD5”的示例...
为什么还要使用dataWithContentsOfFile
? 只需使用imageNamed:
作为:
// Returns the image object associated with the specified filename.
+ (UIImage *)imageNamed:(NSString *)name
喜欢:
{
UIImage *theImage = [UIImage imageNamed: @"somepicture.jpg"]
// …
}
您需要确保映像文件位于主捆绑包中。 您还可以获得:
// Creates and returns an image object by loading the image data from the file at the specified path.
+ (UIImage *)imageWithContentsOfFile:(NSString *)path
大概放宽了“主捆绑包”的限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.