我已经看过几个例子,但到目前为止,在这个问题上没有任何帮助。
我有一个byte[]格式的图像,大小必须减少到2 MB以下。我尝试了几种方法,但到目前为止都没有帮助。
我使用了下面的代码,可以在许多这样的问题中找到:
public static byte[] Compress(byte[] data)
{
MemoryStream output = new MemoryStream();
using (DeflateStream dstream = new DeflateStream(output, CompressionLevel.Optimal))
{
dstream.Write(data, 0, data.Length);
}
return output.ToArray();
}
这确实减少了图像的大小,但不会低于2 MB,我不知道如何在这里说明。其他示例侧重于将图像以减小的大小保存在手机上,但我的图像应该保留在byte[]. This question中,因此没有帮助。
希望有人能帮上忙。
1条答案
按热度按时间4xrmg8kj1#
您可以尝试使用nuget Xam.Plugin.Media来设置压缩质量,以拍摄照片和压缩以及。
请参考以下代码:
您也可以从库中获取文件
您也可以在不同的平台上单独压缩图像。要了解更多信息,请查看线程Compress images。