我一直在网上搜索过去两天,我在网上查了很多源代码,但没有一个提供我想要的结果。
图像旋转具有透视,但图像的左右两侧的高度仍然没有变化。
我想在笔记本电脑屏幕内设置图片
请帮帮我,谢谢。
答案 0 :(得分:0)
所以你想2D笔画一个笔记本电脑屏幕(在iOS设备上?)并在屏幕上放置一个2D图像,但改变了图像,使其透视在笔记本电脑屏幕上看起来正确,对吗?
您需要做的是在笔记本电脑图片视图的顶部添加图片视图。让我们称之为laptopScreenImageView。
然后将CATransform3D应用于laptopScreenImageView的图层。
从CALayer中获取3D透视的技巧是修改变换的.m34值。通常,您将.m34值设置为一个非常小的负数,大约在-1/200到-1/500(分数中的分母是用于查看透视图像的“眼睛位置”的z坐标,以像素为单位,或者观察者的眼睛应该看到的图像“上方”有多少像素。说实话,我并不完全理解它。我使用.m34值,直到我得到看起来正确的东西。)
或者,您可以尝试将CATransformLayer添加到笔记本电脑图像视图的图层,然后添加包含图像的CALayer作为CATransformLayer的子图层。我之前没有使用过CATransformLayer
,但是文档说它们应该支持具有3D透视的图层,从而提供与修改图层变换的.m34组件相同的效果。