Перерисовать только часть холста — .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); }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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