Здравствуйте, bnk, Вы писали:
bnk>Разбираюсь тут с поддержкой webassembly [JSImport]/[JSExport],
bnk>В .NET 7 ее наконец отцепили от непонятной штуки в виде блазора. Блазор не нужен (tm), компиляция dotnet в webassembly нужна
Не уверен, что то что нужно, но посмотрите, как SkiaSharp делает:
https://github.com/mono/SkiaSharp/blob/main/source/SkiaSharp.Views/SkiaSharp.Views.Blazor/SKCanvasView.razor.cs#L103
interop.PutImageData(pixelsHandle.AddrOfPinnedObject(), info.Size);
https://github.com/mono/SkiaSharp/blob/main/source/SkiaSharp.Views/SkiaSharp.Views.Blazor/Internal/SKHtmlCanvasInterop.cs#L85
public void PutImageData(IntPtr intPtr, SKSizeI rawSize) =>
Invoke(PutImageDataSymbol, htmlCanvas, intPtr.ToInt64(), rawSize.Width, rawSize.Height);
на стороне js вот так забирают:
https://github.com/mono/SkiaSharp/blob/main/source/SkiaSharp.Views/SkiaSharp.Views.Blazor/wwwroot/SKHtmlCanvas.ts#L196
var buffer = new Uint8ClampedArray(Module.HEAPU8.buffer, pData, width * height * 4);
var imageData = new ImageData(buffer, width, height);
ctx.putImageData(imageData, 0, 0);