C# ARGB至YUV&&;NET中的颜色空间

C# ARGB至YUV&&;NET中的颜色空间,c#,yuv,color-space,argb,C#,Yuv,Color Space,Argb,我注意到System.Drawing中的Colorstruct表示ARGB颜色空间中的颜色。因此,有一些问题: 如何在c#中转换ARGB和YUV之间的图像?我找到了描述RGB到YUV转换的公式。那么我应该如何处理alpha通道呢 是否有支持不同颜色空间的免费/试用库?或者我如何以最好的方式自己实现它 如何将“位图”表示为二维数组,并在其上进行迭代?继承是实现这一目标的唯一途径吗 就这些了) 谢谢 您不能直接将argb转换为YUV(不丢失),因为YUV不包含alpha信息 根据您在具备以下可能

我注意到
System.Drawing
中的
Color
struct表示ARGB颜色空间中的颜色。因此,有一些问题:

  • 如何在c#中转换ARGB和YUV之间的图像?我找到了描述RGB到YUV转换的公式。那么我应该如何处理alpha通道呢
  • 是否有支持不同颜色空间的免费/试用库?或者我如何以最好的方式自己实现它
  • 如何将“位图”表示为二维数组,并在其上进行迭代?继承是实现这一目标的唯一途径吗
就这些了)


谢谢

您不能直接将argb转换为YUV(不丢失),因为YUV不包含alpha信息

根据您在具备以下可能性后对颜色的处理:

  • 您只需剪切alpha并放弃透明度

  • 将转换为包含以下内容的AYUV 也是一个阿尔法通道

将位图转换为字节[]的一种可能性是将其写入内存流并按位读取

MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Bmp);
byte[] data = stream.ToArray();