扭曲一系列像素,使图像的部分看起来“抖动”。

3
我正在尝试让一张图片的某个部分看起来“摇晃”。如果你能想象一下晃动果冻的盘子,它所做的前后流动的运动(在三个维度上)就是我想要实现的效果。这里有一个例子:http://www.jigglystuff.com/。下面是一个演示所需运动的gif: enter image description here
我想要做的几件事情是:
当图片的某一部分被鼠标拖动并...
  • 向右移动时,鼠标右侧的像素会压缩/重叠,左侧的像素会展开,似乎弯曲向右
  • 向左移动时,鼠标移动的左侧像素会压缩/重叠,右侧的像素会展开,似乎弯曲向左
  • 垂直方向的逻辑相同
我不确定如何去实现,任何示例、对我的逻辑的扩展或资源将不胜感激。

2
也许你可以尝试使用JH Labs的Filter.jar中的WarpFilterFieldWarpFilter - ecle
看起来是个不错的开始! - Atticus
我如何获取下载“filter.jar”的访问权限? - Atticus
哦,它在那里...只是需要阅读“Filters”部分页面 下载 - ecle
谢谢,我找不到下载部分。 - Atticus
有人有FieldWarpFilter使用示例吗?似乎我无法将此过滤器应用于图像。 - MikeL
1个回答

1
为了实现在你的示例中产生抖动效果的“缩放”,请使用控制纹理和适当的映射函数(例如相对于您定义的锚点的指数)。要隔离您想要抖动的部分,请使用常规乘法掩码步骤。
这里有一个使用控制纹理的位移示例here。将其与您自己的缩放滤镜或评论中链接的滤镜组合使用,您就可以开始了!
因此,重申一下:
  1. 根据您的鼠标位置创建控制纹理
  2. 遮罩您的图像
  3. 应用您选择的矢量场算法和设计

一个被用作参数的纹理。也就是说,你可以对控制纹理进行采样以获取每个像素的参数值。在这种情况下,位移贴图的控制纹理包含RGB通道中的方向向量和alpha通道中的强度值。 - appas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接