c# - 如何在 Xamarin 中将 SKImage 或 SKData 转换为 String 以便能够创建发布请求
问题描述
在这里我有我的代码(来自https://forums.xamarin.com/discussion/102674/how-to-save-finger-painting-from-skcanvasview-into-file)
void OnAnalyze(object sender, EventArgs e)
{
var surface = SKSurface.Create(new SKImageInfo((int)canvasView.CanvasSize.Width,
(int)canvasView.CanvasSize.Height));
var canvas = surface.Canvas;
canvas.Clear();
foreach (SKPath path in completedPaths)
canvas.DrawPath(path, paint);
foreach (SKPath path in inProgressPaths.Values)
canvas.DrawPath(path, paint);
canvas.Flush();
var snap = surface.Snapshot();
var pngImage = snap.Encode();
}
上面的代码获取在名为 canvasView 的 skcanvasview 上绘制的内容,并将其放入数据类型为 SKData 的变量 pngImage 中。如何将数据类型为 SKImage 的 pngImage 或 snap 转换为我的发布请求正文中的字符串?以下是我的请求代码:
public async Task<AnalyerResults> AnalyzeWork(SKData pngImage)
{
HttpClient client = await GetClient();
var result = await client.PostAsync(Url + "analyzer", new StringContent(...));
return JsonConvert.DeserializeObject<AnalyerResults>(await result.Content.ReadAsStringAsync());
}
我希望正文的格式类似于使用 Postman 发送带有 .png 文件(不是 JSON)的正文类型二进制文件的发布请求。谢谢你。
解决方案
推荐阅读
- c++ - C++复制构造函数和赋值运算符问题
- amazon-web-services - AWS 设备场 Appium Node.js - 在捆绑的 .zip 文件中找不到 package.json?
- c - 这个函数调用和定义如何排列?
- r - Download multiple dataframes in multiple sheets of the same excel file in a shiny app
- ajax - ASP.NET Core MVC Ajax 发布成功返回 html 页面然后在页面中只显示一个 json?
- javascript - 使用 ngComponentOutlet 的 Angular 材质选项卡
- javascript - 获取函数的未捕获(承诺中)错误
- visual-studio - 为什么查看 dtsx 文件会修改它?
- c# - 如何为 ExtensionDataObject 设置值?
- excel - 比较列中的单元格 (VBA)