gpt4 book ai didi

c# - 如何用另一组替换一组颜色 'shades'

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:43 31 4
gpt4 key购买 nike

我正在寻找一个“神奇”的功能,它可以拍摄图像并返回副本,但将一组色调替换为另一组色调。

例如我有一张红色鱼的照片:它有各种灰度和黑色和白色,但本质上是各种深浅不一的红色。我想将它传递给这个“魔术”函数,并告诉它将其 Color.Red 色调更改为等效的 Color.Yellow 色调等。只需简单的(彩虹色)颜色就足够了。

我在这里和互联网上看到过很多代码片段,但它们似乎都专注于用另一种颜色替换单一颜色或使用阈值,这在交互方面效果很好,但还不够神奇。

我想要应用它的图像不是照片或任何太复杂的东西,只是图标或简单的 Sprite 等。 (我只是厌倦了在图像编辑器中创建副本!)

谁有这样的东西?

最佳答案

您可以使用 Oliver 在 Image hue modification in C# 的回答中显示的 FromAhsb() 来完成此操作(或任何其他允许您从 HSB 值创建颜色的函数)。使用此功能,您可以轻松更改图像的色调,如下所示:

var image = new Bitmap("D:\\fish.png"); // location of your image
var color = Color.Red; //The color in the hue you want to change the image.

for (var x = 0; x < image.Width; x++)
{
for (int y = 0; y < image.Height; y++)
{
Color originalColor = image.GetPixel(x, y);
Color changedColor = FromAhsb(originalColor.A, color.GetHue(), originalColor.GetSaturation(), originalColor.GetBrightness());
image.SetPixel(x,y, changedColor);
}
}

image.Save("D:\\new_fish.png", System.Drawing.Imaging.ImageFormat.Png); // location of your new image

这会产生以下结果:

来自 beforeafter

关于c# - 如何用另一组替换一组颜色 'shades',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752517/

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