好奇是否有通用工具可以用来创建包含文本(或其他元素)的图像,这些文本会失真以显示为图像的原始部分。这些“真实的”广告牌照片可让您在广告牌上放置自己的图像或文字,这就是一个例子。另一个示例是zazzle如何通过扭曲文本或图形以使其看起来好像在织物曲线中略微变形的方式来预览T恤设计。

我是.Net专家,但有兴趣查看此类项目的任何常规解决方案,甚至只是指向有关该主题的其他讨论的一些指针也会有所帮助。

阐明技术是好的,但是最终我很好奇,是否有工具箱可以帮助实现其中的一些自动化,并且可以在动态环境中用于按需生成图像。

最佳答案

做到这一点的“正确”方法是确定应在其上显示文本的表面的角度以及该表面具有的纹理(如果有)。然后,您以与摄像机相同的角度和相对距离在计算机中重新创建虚拟表面,然后在该表面上应用包含文本的纹理,并对其进行“凹凸贴图”处理,以使您的文本看起来像直接在砖墙上绘制或者。调整纹理的照明以匹配场景(可能使用“着色器”根据表面/凹凸贴图上每个点的角度来控制光的折射),然后仅将映射的纹理与原始图像重叠即可。这背后的数学是整个计算机图形业的基石,并且仍在开发新的工具来更好,更快地完成它。您可能会在System.Windows.Media.3D命名空间(或.NET的XNA Framework加载项)中找到有助于您的工具。

这是价值几百万美元的电影特效的基本过程。在没有CG元素的情况下拍摄真实场景(或使用可以绘画或旋转镜的替身镜头),在网络空间中创建“虚拟场景”,然后“跟踪”虚拟相机在该场景中的移动以匹配镜头的移动通过真实场景拍摄的真实相机。然后,您可以随时随地渲染该镜头中的任何内容。

做到这一点的“便宜”方法是不打扰“跟踪”(这是一个非常耗时的过程,尤其是在运动图像中),而只是对元素的位置,角度等做出“最佳猜测”,并只需在其顶部绘制文本即可。 PhotoShop具有可以以这种方式呈现文本的工具,但是由于您是在编程站点中提出这个问题的,因此我假设您想编写自己的解决方案。

关于c# - 图像渲染技术-用于向现有照片添加逼真的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9434966/

10-17 00:37