gpt4 book ai didi

c# - 使用 System.Drawing 从流中检测 CMYK

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:00 24 4
gpt4 key购买 nike

我遇到了一个问题,我需要检测 WebImage 是否处于 CMYK 模式。通过将 WebImage 传递给函数或字节数组。

目前我有:

public static bool IsCMYK(Image img)
{
bool isCMYK;

if ((GetImageFlags(img).IndexOf("Ycck") > -1) || (GetImageFlags(img).IndexOf("Cmyk") > -1))
isCMYK = true;
else
isCMYK = false;

return isCMYK;
}

public static string GetImageFlags(Image img)
{
var flagVals = (ImageFlags)Enum.Parse(typeof(ImageFlags), img.Flags.ToString());

return flagVals.ToString();
}

来自 http://www.maxostudio.com/Tut_CS_CMYK.cfm 的修改代码

不确定它是否是最佳实践。

如何修改此代码以从 WebImage 或字节数组中检测 CMYK?

最佳答案

我用这段代码解决了这个问题:

public static bool IsCMYK(Image image)
{
var flags = (ImageFlags)image.Flags;
if (flags.HasFlag(ImageFlags.ColorSpaceCmyk) || flags.HasFlag(ImageFlags.ColorSpaceYcck))
{
return true;
}

const int PixelFormat32bppCMYK = (15 | (32 << 8));
return (int)image.PixelFormat == PixelFormat32bppCMYK;
}

关于c# - 使用 System.Drawing 从流中检测 CMYK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16235999/

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