设置如下:这是一个电子商务艺术网站,其中一些画作是 Canvas 转移。这幅画环绕 Canvas 的侧面、顶部和底部。我们拥有整幅画的高分辨率图像,但我们想要显示的是图像的准 3D 表示,您可以在其中看到画作的侧面如何环绕 Canvas 。以下是我所讨论内容的粗略概述:
我的问题是,如何在 3D 空间中旋转图像?我认为我想要采取的方法是剪掉图像顶部和侧面的一部分,然后以 3D 方式旋转,然后将其缝合回顶部和侧面以赋予其 3D 外观。我该怎么做呢?它可以使用任何 .Net 技术(GDI+、WPF 等)来完成。
最佳答案
在 WPF 中,使用 ViewPort3D 类您可以创建一个 8x5x1 单位的长方体。创建图像作为纹理,然后使用纹理坐标将纹理应用到正面 (8x5)、侧面 (5x1) 以及顶面和底面 (8x1)。正面坐标应为:正面的(1/9, 1/6)、(8/9, 1/6)、(1/9, 5/6) 和(8/9, 5/6) ,以及从最近的边到边的坐标,例如左侧:(0, 1/6)、(1/9, 1/6)、(0, 5/6) 和 (1/9, 5/6) 左侧。
编辑: 如果您希望能够在 3D Canvas 模型上执行旋转,您可以按照此处的建议进行操作: How can I do 3D transformation in WPF?
关于c# - 在 3D 空间中旋转图像的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435756/