将 writeableBitmap 转换为字节数组时字节数组的大小
Size of byte array while converting writeableBitmap to byte array
我在上一个问题中得到了将 WriteableBitmap
转换为字节数组的代码
public static byte[] ConvertToByteArray(WriteableBitmap writeableBitmap)
{
using (var ms = new MemoryStream())
{
writeableBitmap.SaveJpeg(ms,
writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100);
return ms.ToArray();
}
}
此代码有效,但它每次都是 returns 不同长度的数组。是否有可能每次都得到相同大小的数组?它作为参数获取的 writeableBitmaps
始终具有相同的大小。
Jpeg 是压缩图像格式,因此除非您的输入始终具有相同的内容,否则您将获得不同的字节长度(即使对于相同大小的图像)。
您的选择:
- 更新代码以处理可变大小的图像字节
- 使用非压缩格式(会显着增加数据大小)
- 根据数组的最大预期大小在末尾用 0 填充数据(您可能必须屏蔽一些图像,否则大小必须与未压缩图像的大小相当)
我在上一个问题中得到了将 WriteableBitmap
转换为字节数组的代码
public static byte[] ConvertToByteArray(WriteableBitmap writeableBitmap)
{
using (var ms = new MemoryStream())
{
writeableBitmap.SaveJpeg(ms,
writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100);
return ms.ToArray();
}
}
此代码有效,但它每次都是 returns 不同长度的数组。是否有可能每次都得到相同大小的数组?它作为参数获取的 writeableBitmaps
始终具有相同的大小。
Jpeg 是压缩图像格式,因此除非您的输入始终具有相同的内容,否则您将获得不同的字节长度(即使对于相同大小的图像)。
您的选择:
- 更新代码以处理可变大小的图像字节
- 使用非压缩格式(会显着增加数据大小)
- 根据数组的最大预期大小在末尾用 0 填充数据(您可能必须屏蔽一些图像,否则大小必须与未压缩图像的大小相当)