iOS->将2个UIImageView保存到cameraRoll

发布于 2024-11-25 07:49:42 字数 269 浏览 1 评论 0原文

我有两层 UIImageView,上面一层是部分透明的,第二层是“背景”。我想将它们保存起来,就像用户从前面看到它们一样,放入相机卷中以供用户使用。问题是这样写:

if(gridUpperLayer == transparent) {drawGridLowerLayer} 
else {drawGridUpperLayer} 

会非常慢(而且我不知道如何实现它)。有人知道如何以更快的方式做到这一点吗?最好是有例子,但我将不胜感激^^ 干杯并提前感谢您!

i have two layers of UIImageView, upper one is partly transparent, second in is 'background'. I want to save them both like user see them from front into cameraRoll for user's use. The problem is writing it in way:

if(gridUpperLayer == transparent) {drawGridLowerLayer} 
else {drawGridUpperLayer} 

will be very slow (and i dont know how to implement it). Anybody has idea how to do it in faster way..? Best would be with example but i would be grateful for anything ^^
Cheers and thank you in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹿港巷口少年归 2024-12-02 07:49:42

您可以通过将 CALayer 渲染为包含这两个图像的 UIView 的图像来实现此目的。以下代码如下所示:

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

//将图像保存到磁盘

You can do this by rendering the CALayer into an image for the UIView that contains both of the images. The following code would look like:

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

//save anImage to disk

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文