Использование Blazor WebAssembly (3.2.0 превью 5) с BlazorLeaflet , чтобы показать карту. На этой карте я хочу разместить imageOverlay, который я хочу иметь возможность обновлять более или менее часто (иногда совсем нет, а иногда до 1-2 раз в секунду). С обычным js это было довольно легко сделать с помощью следующего фрагмента кода (вместе с плагином Leaflet.Overlay.Rotated ): Изначально:
var map = L.map('mapElement', {
crs: crs,
continuousWorld: true,
center: latlong, // Set center location
zoom: 9, // Set zoom level
minzoom: 0,
maxzoom: 13
});
var overlay = L.imageOverlay.rotated(imageurl, point1, point2, point3, {
opacity: 0.4,
interactive: true,
attribution: "MyUpdatingImage"
});
map.addLayer(overlay);
Затем обновить изображение просто сделано:
var ctx = canvas.getContext("2d");
var imageData = ctx.createImageData(width, height);
//..
// Populating imageData.data with values for r,g,b,a (0-255)
//..
overlay.setUrl(canvas.toDataURL());
Я кратко протестировал этот плагин Blazor Canvas , но, к сожалению, не существует toDataURL () эквивалентного метода / функции, насколько я вижу .. Кто-нибудь знает альтернативный метод в Blazor WebAssembly?