Использование canvas на C# Xamarin

Это часть статьи по опыту создания приложения с использованием C# Xamarin для Android платформы.

Canvas — это общий для разных платформ подход к работе с графикой, он обычно материализуется в специфичном для языка / платформы объекте, который так и называется — Canvas.

В данной статье я покажу пример использования этого объекта на C# Xamarin.

Объект Canvas можно создать динамически или определить его как компонент страницы вашего приложения.

Создаём Canvas динамически

В моём приложении Demo Line была основная страница — MainPage. Заменим её содержимое на canvas.

Canvas как компонент страницы

Второй подход заключается в редактировании xml шаблона страницы и объявление там компонента Canvas.

Так выглядит шаблон целиком:

Разберем тег skia:SKCanvasView подробнее:

x:Name=»canvasView» — передаёт имя компонента для использования его в коде приложения;
EnableTouchEvents=»True» Touch=»OnTouch» — теги разрешают обработку событий связанных с касаниями и назначают метод OnTouch для обработки этих событий;
PaintSurface=»OnCanvasViewPaintSurface» — подключаем обработчик перерисовки.

Пример обработки OnTouch

При касании вы скорее всего что то меняете на canvas, потому интересно рассмотреть этот обработчик. Нужно узнать, где вы прикоснулись, изменить что то в вашей программе и заставить canvas выполнить перерисовку.

Вызов метода InvalidateSurface() сигнализирует о том, что картинка изменилась, и её нужно перерисовать. Будет вызван ваш метод OnCanvasViewPaintSurface.

Небольшой пример работы непосредственно с canvas:

Написать комментарий

Мало букафф? Читайте есчо !

Пример параллельной многопоточной обработки данных в C#

Август 5, 2020 г.

Чтобы продемонстрировать насколько элегантно С# позволяет организовать параллельные вычисления, реализуем классическую задачу поиска простых чисел в заданном диапазоне множества натуральных чисел. Для начала, я создам функцию-расширение для класса ...

Читать

Перебираем список свойств известной structure в C#

Июль 8, 2022 г.

Мне нужен был выбор цвета из некоторой палитры, и я обнаружил подходящий список в пакете SkiaSharp, где определена структура SKColors, перечисляющая статические значения цветов. Вот такой список: [crayon-6629fdd0c025c454718025/] Я хотел получить ...

Читать

 

Комментарии к «Использование canvas на C# Xamarin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: