我正在使用网络摄像头捕捉银光中的图像。现在我需要将其转换为byte []数组。现在我使用这样的东西:
WriteableBitmap img = e.Result;
int[] p = img.Pixels;
int len = p.Length * 4;
byte[] result = new byte[len]; // ARGB
Buffer.BlockCopy(p, 0, result, 0, len);
然而,所得到的arrray的大小约为2MB,这相当大。我有什么选择来实现更好的压缩? (现在我正在考虑使用一些开源压缩代码并减小凸轮的大小。)
答案 0 :(得分:0)
您可以使用BitmapEncoder将您的位图编码为jpeg或png。
该文档有一些示例如何使用它。不知道这是否可以在silverlight中使用。
无论如何,使用像https://imagetools.codeplex.com/这样的东西可能是一个好主意,因为这个库应该可以在silverlight下正常工作,而且你不必为解决自己实现的问题而烦恼......