【问题标题】:Distorting a range of pixels to make parts of an image appear to "jiggle"扭曲一系列像素以使图像的某些部分看起来“抖动”
【发布时间】:2012-01-05 13:10:49
【问题描述】:

我正在努力使图像的一部分在视觉上看起来“抖动”。

如果你能想象摇动一盘果冻,我想要实现它向后和第四次(三维)移动的流畅运动。

这是一个例子:http://www.jigglystuff.com/

这是一个演示所需动作的 gif:

我在想我必须做的几件事是:

当图像的一部分被光标拖动并...

  • 向右移动,光标右侧的像素会凝聚/重叠,左侧的像素会扩大,出现向右弯曲
  • 向左移动,移动光标左侧的像素会凝聚/重叠,而右侧的像素会扩大,出现向左弯曲
  • 垂直方向的逻辑相同

我不知道该怎么做——任何示例、扩展我的逻辑或资源将不胜感激。

【问题讨论】:

  • 也许,您可以试试 JH Labs 的 Filter.jar 中的 WarpFilterFieldWarpFilter
  • 看起来是个好的开始!
  • 我怎样才能获得下载filter.jar
  • 嗯,它就在那里......只需阅读Filters部分页面download
  • 谢谢,找不到下载部分

标签: java image-processing image-manipulation


【解决方案1】:

要实现在您的示例中创建抖动效果的“缩放”,请使用控制纹理和合适的映射函数(例如,相对于您定义的锚点的指数)。要隔离您想要抖动的部分,请使用常规的多重掩蔽步骤。

有一个使用控制纹理here 的置换示例。将其与您自己的缩放过滤器或 cmets 中链接的过滤器结合使用,您应该很高兴!

所以,重申一下:

  1. 根据鼠标位置创建控制纹理
  2. 屏蔽您的图片
  3. 应用您选择和设计的矢量场算法

【讨论】:

  • 像参数一样使用的纹理。也就是说,您对控制纹理进行采样以获得每个像素的参数值。在这种情况下,置换贴图的控制纹理包含 RGB 通道中的方向向量和 Alpha 通道中的强度值。
猜你喜欢
  • 1970-01-01
  • 2012-08-30
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多