gpt4 book ai didi

iphone - UIImageWriteToSavedPhotosAlbum 保存为错误的尺寸和质量

转载 作者:行者123 更新时间:2023-12-03 18:31:54 27 4
gpt4 key购买 nike

我正在尝试拍摄应用程序当前 View 的屏幕截图并将其保存到相册(然后通过电子邮件或彩信发送)。

UIGraphicsBeginImageContext(self.view.bounds.size); 

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil);

这可行,但当我从照片库通过电子邮件发送时,生成的图像似乎更大(533x800px)并且严重压缩。

我尝试先将 UIImage 写入文件,然后保存到相册,但仍然遇到相同的问题。

如果我使用 iPhone 上的内置屏幕截图功能, View 会正确保存到 320x480 的相册中,但由于某种原因,上述代码似乎保存了更大的图像?

谢谢!

最佳答案

我找到了一个不错的解决方法,基本上是将 UIImage 重新包装为 PNG,然后保存重新包装的版本。代码看起来像这样:

UIImage* im = [UIImage imageWithCGImage:myCGRef]; // make image from CGRef
NSData* imdata = UIImagePNGRepresentation ( im ); // get PNG representation
UIImage* im2 = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation
UIImageWriteToSavedPhotosAlbum(im2, nil, nil, nil); // save to photo album

关于iphone - UIImageWriteToSavedPhotosAlbum 保存为错误的尺寸和质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1379274/

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