【发布时间】:2017-12-28 02:45:57
【问题描述】:
我有一个 aurelia 客户端,它通过我的 API 从我的 asp.net 服务器获取图像。图像存储为 png 文件,并在 api 调用完成时加载。
这工作正常,但图像来自通过 Emgu cv 获取图像的网络摄像头。
我的问题是是否可以直接提供当前的 Umat/Mat 图像并显示在网页上。
HttpResponseMessage response = new HttpResponseMessage();
try
{
Console.WriteLine("Get image 3");
manager.sem.WaitOne();
// Maybe firsto to Emgu cv Umat to .net Image (bitmap?)
// Then image to byte.memory stream
// Send
Image<Bgr, Byte> myImage = new Image<Bgr, Byte>(ddEngine.ResultImage.Bitmap);
response.Content =
new StreamContent(new MemoryStream(opencvCam.ResultImage.Bytes));
response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");
manager.sem.Release();
}
catch
{
Console.WriteLine("ex");
}
我的客户端代码如下所示:
updateImageSrc() {
let dt = new Date();
let baseUrl = "http://localhost:8080/api/status/dummymethod3";
this.imagePath = baseUrl + "?t=" + dt.getTime();
}
还有html
<img id="img" src.bind="imagePath"/>
页面不显示任何图像。
【问题讨论】:
-
您是否确认您的服务器端代码有效?如果没有,首先在标记中硬编码 URL:localhost:8080/api/status/dummymethod3?t=random">
-
感谢您的评论,我会在几个小时内尝试此操作。我认为问题也确实出在服务器上。 umat/mat 到图像之间的转换和它的发送。问题是当前的解决方案是我将 umat 图像转换并存储为 png,然后再次将其读出。但我不想将其保存在磁盘上。在服务器上,我希望它保持在堆上。
标签: asp.net .net typescript aurelia emgucv