是否可以使用通用處理程序直接將圖像加載到canvas控件中而不使用圖像元素?使用通用處理程序將圖像加載到畫布中
這是我的處理程序:
public void ProcessRequest(HttpContext context)
{
context.Response.AddHeader("Access-Control-Allow-Origin", "*");
context.Response.ContentType = "image/jpeg";
var camIndex = Convert.ToInt16(context.Request.QueryString["camIndex"]);
context.Response.BinaryWrite(Shared.Feeder[camIndex].JpegData);
}
我的javascript:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1/Media/FrameHandler.ashx?camIndex=' + camIndex, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function (e) {
var uInt8Array = new Uint8ClampedArray(this.response);
imageData[camIndex].data.set(uInt8Array);
ctxLiveViews[camIndex].putImageData(imageData[camIndex], 0, 0);
};
xhr.send();
這給了我這個形象(這顯然是錯誤的)
你看過這篇文章 - 特別是關於手動解析你的原始JPEG照相機流:http://stackoverflow.com/questions/28827670/create-html-canvas-from-ajax-arraybuffer-response-type/ 28827942#28827942 – markE
除非你願意在Javascript中實現JPEG解碼器。 – Philipp
MarkE感謝您的鏈接 –