gpt4 book ai didi

java - 涂抹工具的算法?

转载 作者:搜寻专家 更新时间:2023-11-01 08:16:32 27 4
gpt4 key购买 nike

我正在尝试实现一种涂抹工具,就像您可以在 Gimp 或 Photoshop 中找到的那样。我尝试了很多变体,但它们都有问题。我尝试在图像上从位置 P1 到 P2 涂抹的基本方法是:

  1. 从 P1 复制当前画笔大小的矩形。
  2. 在 P2 处以低不透明度绘制此矩形。

它看起来不错,如预期的那样有污迹,但我遇到的主要问题是污迹似乎使事情变得更暗。特别是在使用小笔刷间距时,反复涂抹会使该区域变黑。关于我做错了什么或我可以看一些标准算法的任何建议?我看过 Gimp 源代码,但很难理解。

如果重要的话,我在移动设备(Android、Java)上工作,所以速度更快会更可取。

最佳答案

我怀疑您的算法不断地在彼此之上渲染您的矩形,可能会平均它们的值以获得下面的新颜色值。根据您程序的具体设置方式,我敢打赌,由于这种重复平均,RGB 值将变为 0x000000。这也解释了为什么更小的步长距离变黑得更快,因为更多的步长等同于更多的平均。我的换色器也遇到了类似的问题,该换色器反复模糊,边缘变黑。

有关创建您自己的涂抹工具的良好教程可在此处找到:https://web.archive.org/web/20100916174858/http://losingfight.com:80/blog/2007/09/04/how-to-implement-smudge-and-stamp-tools/

不幸的是,这些示例都在 Objective-C 中,但文本很好地解释了正在发生的事情。

希望这对您有所帮助。

关于java - 涂抹工具的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com