将writeablebitmap编码为jpeg,然后编码为base64string

时间:2014-05-28 15:25:15

标签: c# http windows-runtime windows-store-apps filestream

我正在构建一个Surface-rt应用程序,它将结果转换为流和WriteableBitmap as this example shows然后我将流编码为Base64String并将其传递给WebApi服务,我将其存储在服务器中。

相同的示例页面建议在保存之前将图像编码为jpeg,因为生成的文件会非常大,现在我的问题是我/我应该编码流/ writeableBitMap 在将其插入base64string之前减少webapi服务的流量。

免责声明:我提前处理图像的经验很少。

1 个答案:

答案 0 :(得分:0)

您分享的链接中描述的方法似乎是压缩WriteableBitmap的正确方法。您确实希望压缩捕获的图像以使其更小。唯一剩下的部分是将其编码为Base64,您可以使用Convert.ToBase64String()进行编码。我要考虑的一件事是使用类似BackgroundUploader.CreateUploadFromStreamAsync()的内容来上传流。在这种情况下,您可能不希望在客户端执行Base64编码部分,但可能在服务器上执行此操作。我不是一个http专家,但Base64会让你的数据更大,我怀疑这些天上传比特的方式比使用Base64更快,而且你的Base64编码的字符串可能最终被Base64编码两次 - 使得传输的数据更大。