ARGB to YUV && Color Spaces in .NET
本文关键字:amp in NET Spaces Color ARGB to YUV | 更新日期: 2023-09-27 17:56:31
我注意到System.Drawing
中的Color
结构表示 ARGB 颜色空间中的颜色。所以有一些问题:
- 如何在 c# 中转换图像 ARGB 和 YUV?我找到了描述 RGB 到 YUV 转换的公式。那么我应该如何处理阿尔法通道?
- 是否有支持不同色彩空间的免费/试用库?或者我如何以最佳方式自己实现它?
- 如何将"位图"表示为能够迭代的 2D 数组? 继承是实现这一目标的唯一方法吗?
仅此而已)
谢谢!
您不能直接将 argb 转换为 YUV(无损失),因为 YUV 不包含 alpha 信息。
根据您在拥有以下可能性后要对颜色执行的操作:
-
您只需剪切 alpha 并丢弃透明度
-
您转换为包含以下内容的 AYUV也是一个阿尔法通道
色彩空间之间的转换
将位图转换为 byte[] 的一种可能性是将其写入内存流并明智地读取它。
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Bmp);
byte[] data = stream.ToArray();