Isaev Asked:2020-11-27 08:43:04 +0000 UTC2020-11-27 08:43:04 +0000 UTC 2020-11-27 08:43:04 +0000 UTC 如何输出边缘渐变渐变的线? 772 会有一个组件可以用鼠标向左/向右滚动一条线(或图像),这条线很长,所以我想在周围做一些线性渐变的蒙版边缘,这样就产生了文字从头到尾从无到有的效果。在 Delphi 中如何组织? delphi 1 个回答 Voted Best Answer Kromster 2020-11-28T17:07:34Z2020-11-28T17:07:34Z 创建具有透明度的内存中 PNG。组件的宽度和高度为 1px。填充组件的颜色(背景)。沿着它做一个渐变透明度(例如,从 0 到 255 表示 20px,255 表示 40px 组件的宽度,从 255 到 0 表示 20px)并在重绘时覆盖整个行高的文本。 您也可以使用标准位图。没有角色。这个想法不是在每次移动文本时重新计算渐变,而是简单地将完成的填充应用于文本。那些。一次(例如,在创建组件时,甚至将完成的组件放入资源中),准备一个渐变透明填充,然后才应用它。您甚至可以为左侧和右侧制作两件。 如果衰减被认为太不均匀,则尝试根据例如 Sin (x) 或根据 Sqr (x) 进行衰减。有很多选择。
创建具有透明度的内存中 PNG。组件的宽度和高度为 1px。填充组件的颜色(背景)。沿着它做一个渐变透明度(例如,从 0 到 255 表示 20px,255 表示 40px 组件的宽度,从 255 到 0 表示 20px)并在重绘时覆盖整个行高的文本。
您也可以使用标准位图。没有角色。这个想法不是在每次移动文本时重新计算渐变,而是简单地将完成的填充应用于文本。那些。一次(例如,在创建组件时,甚至将完成的组件放入资源中),准备一个渐变透明填充,然后才应用它。您甚至可以为左侧和右侧制作两件。
如果衰减被认为太不均匀,则尝试根据例如 Sin (x) 或根据 Sqr (x) 进行衰减。有很多选择。