gpt4 book ai didi

iphone - iOS:从磁盘读取时如何获得透明的png

转载 作者:行者123 更新时间:2023-12-01 16:57:18 25 4
gpt4 key购买 nike

我将 png 图像作为 NSData(用于缓存)保存到磁盘,当读取时给出黑色代替透明像素。如何解决??

这是我用来保存到磁盘的:

-(void)cacheImage:(UIImage *)image forURL:(NSURL *)url {
NSURL *cacheFileURL = [[self asyncableCachesDirectory] URLByAppendingPathComponent:[[url absoluteString] MD5]];

NSData *imageData = nil;

switch ([self imageTypeForJTDynamicImageURL:url]) {
case AsyncableImageTypeJPEG:
imageData = UIImageJPEGRepresentation(image, 1);
break;
case AsyncableImageTypePNG:
imageData = UIImagePNGRepresentation(image);
break;
default:
break;
}

NSError *error = nil;

[imageData writeToURL:cacheFileURL options:0 error:&error];

这就是我用来读取图像的内容:

-(UIImage *)imageFromCacheForURL:(NSURL *)url {
UIImage *image;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *urlHash;
NSURL *cacheFileURL;


image = [self.images objectForKey:[url absoluteString]];

// if we already have the full size image in memory just return it.
if (image) {
debug(@"---Asyncable returning full size image from memory for url: %@", url);
return image;
}

// check disk for full size image
urlHash = [[url absoluteString] MD5];
cacheFileURL = [[self asyncableCachesDirectory] URLByAppendingPathComponent:urlHash];

image = [UIImage imageWithData:[fileManager contentsAtPath:[cacheFileURL path]]];

if (image) {
[self.images setObject:images forKey:url];
debug(@"---Asyncable returning full size image from disk for url: %@", url);

return image;
}

最佳答案

imageData = UIImagePNGRepresentation(image);

如果在这两种情况下都使用会发生什么?

关于iphone - iOS:从磁盘读取时如何获得透明的png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10649027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com