Перерисовать только часть холста — .net MauiC#

Место общения программистов C#
Гость
Перерисовать только часть холста — .net Maui

Сообщение Гость »


В моем приложении .net Maui я хочу нарисовать на холсте пульсирующий круг. Я пробовал просто аннулировать графическое представление 15 раз в секунду (для достижения 15 кадров в секунду). Однако, поскольку холст намного больше, чем просто этот пульсирующий круг, этот подход очень медленный, и я это понимаю.

Есть ли способ перерисовать только ту область, где находится круг, или разместить ее на отдельном слое и перерисовывать только ее?

Или есть ли другой способ разместить подобную анимацию на холсте?

Рисуемый:
public void Draw(ICanvas Canvas, RectFгрязныйRect) { // Рисуем фон изображения. если (_image != ноль) { Canvas.DrawImage(_image, Padding + _translationX, Padding + _translationY, _width, _height); } // Рисуем что-то еще // Рисуем пульсирующий круг холст.DrawCircle(_x, _y, _radius); холст.FillColor = Цвета.Красный; холст.FillCircle(_x, _y, _radius); вар radiusStep =грязныйRect.Width/15; _шаг++; если (_шаг > 15) { _шаг = 1; } Canvas.DrawCircle(_x, _y, radiusStep * _step); }

Вернуться в «C#»