gpt4 book ai didi

.net - 在 .NET 中混合两种颜色

转载 作者:行者123 更新时间:2023-12-01 06:54:34 26 4
gpt4 key购买 nike

我的 .NET 应用程序中有两种颜色是用户定义的。我想以某种方式获得这两种颜色之间的颜色。它是渐变中间的颜色。有什么办法可以做到这一点吗?

最佳答案

嗯,最简单的方法是取每个红色、绿色、蓝色和 alpha 值的平均值:

Color c1 = ...;
Color c2 = ...;
Color midpoint = Color.FromArgb((c1.A + c2.A) / 2,
(c1.R + c2.R) / 2,
(c1.G + c2.G) / 2,
(c1.B + c2.B) / 2);

尽管 A、R、G 和 B 属性是字节,但它们在添加之前会被提升为整数,因此不会出现溢出问题。除法的结果仍将在 [0, 255] 和 FromArgb 范围内需要 Int32值,但丢弃最低 8 位以外的所有内容 - 这正是我们想要的。

另一种方法是使用不同的颜色模型(例如 HSV),但这会更复杂一些。对于渐变,这应该没问题。

关于.net - 在 .NET 中混合两种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1731739/

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