Можно ли настроить CanvasVirtualControl в Win2D для аннулирования небольших регионов?

Когда CanvasVirtualControl повышения RegionsInvalidated, он предоставляет список регионов, видимых на экране:

private void OnRegionsInvalidated(CanvasVirtualControl sender, CanvasRegionsInvalidatedEventArgs e)
{
    foreach (var region in e.InvalidatedRegions)
    {
        using (var ds = sender.CreateDrawingSession(region))
        {
            // draw stuff for that region
        }
    }
}

Список регионов, которые он возвращает, обычно имеет один большой один и один или два маленьких. Я понимаю, почему он это делает, но есть ли способ сказать элементу управления использовать меньший максимальный размер растрового изображения, чтобы он в итоге дал мне 4 средних региона?

Например, когда элемент управления загружается впервые, он повышает RegionsInvalidated со следующими регионами:

Rect[0] => 2000x2000 pixels
Rect[1] => 120x30 pixels

Один большой регион и другой маленький регион, потому что он знает, что мой графический процессор не допускает растровые изображения размером более 2000x2000 (например). Мне было интересно, есть ли способ переопределить это и сказать элементу управления иметь максимум 500x500, чтобы он возвращал результаты, такие как:

Rect[0] => 500x500 pixels
Rect[1] => 500x500 pixels
Rect[2] => 500x500 pixels
Rect[3] => 500x500 pixels
Rect[4] => 120x30 pixels

0 ответов

Другие вопросы по тегам