gpt4 book ai didi

objective-c - 使用 UIImagePNGRepresentation 保存 UIImage 不保留我的图层修改

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:10 26 4
gpt4 key购买 nike

我正在从 NSData 加载图像。原始图像创建为 JPG。当我尝试设置圆角半径并保存到磁盘时,我正在丢失所做的更改。我将以 PNG 格式保存到磁盘,因为我假设会在需要保留的图层上创建一个 alpha channel 。

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:data]];
[imageView.layer setMasksToBounds:YES];
[imageView.layer setCornerRadius:10.0f];
data = UIImagePNGRepresentation(imageView.image);
// save data to file with .png extension

问题是当我将图像从文件系统重新加载回 UIImage 时,圆角半径不可见。

最佳答案

CGContext 可以进行“截图”。

UIGraphicsBeginImageContext(self.frame.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// Now I use the "screenshot"
NSString *path = [NSHomeDirectory() stringByAppendingString:@"/image.jpg"];
if ([UIImageJPEGRepresentation(image, 1) writeToFile:path atomically:YES]) {
NSLog(@"save ok");
}
else {
NSLog(@"save failed");
}

关于objective-c - 使用 UIImagePNGRepresentation 保存 UIImage 不保留我的图层修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447152/

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