Можно ли настроить 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