gpt4 book ai didi

ios - 使用 CATransform3DMakeRotation 截取具有 subview 的 UIView

转载 作者:行者123 更新时间:2023-12-01 17:31:48 24 4
gpt4 key购买 nike

我正在尝试生成带有 CATransform3DMakeRotation subview 的 UIView 的屏幕截图.屏幕截图已生成,但不包含旋转。

有可能实现这一目标吗?

实际 View :

enter image description here

截图图像

enter image description here

使用以下调用水平翻转 View ...

  currentView.layer.transform = CATransform3DConcat(currentView.layer.transform,CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0f));

截屏代码
+ (UIImage *) imageWithView:(UIView *)view
{
CGSize screenDimensions = view.bounds.size;

// Create a graphics context with the target size
// (last parameter takes scale into account)
UIGraphicsBeginImageContextWithOptions(screenDimensions, NO, 0);

// Render the view to a new context
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return img;
}

最佳答案

“renderInContext”仅适用于仿射变换。所以像这样将3D变换转换为仿射变换

currentView.layer.affineTransform = CATransform3DGetAffineTransform(CATransform3DConcat(currentView.layer.transform,CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0f)));

关于ios - 使用 CATransform3DMakeRotation 截取具有 subview 的 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19096360/

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