ARGB到.NET中的YUV&&颜色空间
-
14-11-2019 - |
题
我注意到 Color
结构从 System.Drawing
表示颜色在 ARGB 色彩空间。所以有一些问题:
- 如何在c#中将image转换为ARGB和YUV?我找到了描述RGB到YUV转换的公式。那么我应该如何处理alpha通道?
- 是否有支持不同颜色空间的免费/试用库?或者我如何以最好的方式自己实现它?
- 如何将'Bitmap'表示为具有迭代能力的2d数组?继承是实现这一点的唯一方法吗?
仅此而已)
谢谢!
解决方案
您不能直接将argb转换为YUV(没有损失),因为YUV不包含alpha信息。
取决于你有这些可能性后,你想用颜色做什么:
你只需削减alpha并丢弃透明度
您转换为包含以下内容的AYUV 也是一个alpha通道
将位图转换为byte[]的一种可能性是将其写入memorystream并明智地读取它。
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Bmp);
byte[] data = stream.ToArray();
不隶属于 StackOverflow