如何通过适当的图像旋转和透视在笔记本电脑屏幕上显示图像?

时间:2014-11-06 15:50:43

标签: ios objective-c iphone uiimageview uiimage

我一直在网上搜索过去两天,我在网上查了很多源代码,但没有一个提供我想要的结果。

图像旋转具有透视,但图像的左右两侧的高度仍然没有变化。enter image description here

我想在笔记本电脑屏幕内设置图片

请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:0)

所以你想2D笔画一个笔记本电脑屏幕(在iOS设备上?)并在屏幕上放置一个2D图像,但改变了图像,使其透视在笔记本电脑屏幕上看起来正确,对吗?

您需要做的是在笔记本电脑图片视图的顶部添加图片视图。让我们称之为laptopScreenImageView。

然后将CATransform3D应用于laptopScreenImageView的图层。

从CALayer中获取3D透视的技巧是修改变换的.m34值。通常,您将.m34值设置为一个非常小的负数,大约在-1/200到-1/500(分数中的分母是用于查看透视图像的“眼睛位置”的z坐标,以像素为单位,或者观察者的眼睛应该看到的图像“上方”有多少像素。说实话,我并不完全理解它。我使用.m34值,直到我得到看起来正确的东西。)

或者,您可以尝试将CATransformLayer添加到笔记本电脑图像视图的图层,然后添加包含图像的CALayer作为CATransformLayer的子图层。我之前没有使用过CATransformLayer,但是文档说它们应该支持具有3D透视的图层,从而提供与修改图层变换的.m34组件相同的效果。