图像"淡入淡出"进/出(不透明)

Mar*_*ner 3 delphi bezier bitmap

我想"淡化"进出图像.但不是不透明的.

图片说的不仅仅是文字:

原始图片:

在此输入图像描述

期望的图像:

在此输入图像描述

我怎么能以编程方式做到这一点?不是像"使用Bitmap.Canvas"那样的方式而是数学方法.(如果可能,"为假人"......:D)

我希望图像具有淡入/淡出区域,而不是线性增加但是"曲线".我猜它与Bezier曲线有关?如果是的话,我如何设置点以获得这样的曲线?

或者你的方法是什么?

谢谢你的帮助!:)

hnk*_*hnk 5

这里大概是你将如何去做(正如你所说,你正在寻找逻辑,而不是完整的实现)

  1. 创建基本形状轮廓:创建部分正弦波,使半周期(半波长:P1 = L/2)等于图像的长度(x坐标大小).
  2. 添加Overtones:添加另一个正弦函数.这个时间用波长给出,P2 = P1 / 2 + rnd其中rnd是区间中的随机实数(-P1/4 , +P1 / 4)
  3. 重复:现在P2成为新的P1.

这样你就可以通过调制主波来产生"波浪波",你将获得顶部边界.

您可以更改符号并获得下边界.

你可能正在寻找的词(对于形状,即)是Overtones.您可以查看更多关于为光学或声学产生泛音的信息.

这个用于将泛音添加到直线的示例将提供更好的主意.上面的代码将这些随机缩短周期的正弦波相加,以产生波浪效应() 在此输入图像描述