#c# #uwp
#c# #uwp
Вопрос:
В UWP я целый день читал документы Microsoft и не мог найти способ получить значение штриха для трансляции другим InkCanvas
клиентам on difference, использующим SignalR core. ребята, вы знаете, как получить текущее InkCanvas
значение, чтобы я мог его транслировать?
Ответ №1:
Можно сериализовать и десериализовать все штрихи из InkCanvas
в поток и из потока:
inkCanvas.InkPresenter.StrokeContainer.SaveAsync(outputStream);
И
inkCanvas.InkPresenter.StrokeContainer.LoadAsync(inputStream);
Документы содержат полный образец.
В случае, если вы не хотите продолжать «перерисовку», что было бы неэффективно в этом сценарии реального времени, вы также можете сериализовать и отправлять отдельные штрихи один за другим. InkStroke
класс имеет GetInkPoints
метод, который возвращает список точек в штрихе. Вы можете сериализовать их и на подключенных клиентах воссоздать штрихи с помощью InkStrokeBuilder
.