Спасибо! А как же все таки реализовать заливку? Это ж получается мне на вход метода нужно взять рендертаргет и рекурсивно менять цвета пикселей, пока цвет их равен старому? Не медленно ли будет? Попробую ка я сделать это, и посмотрю
что-то не работает:
void fill(int x, int y, Color newC, Color oldC,RenderTarget2D rend)
{
Color[] datoa = new Color[1];
rend.GetData<Color>(datoa,0,1);
if (x >= 0 && y >= 0 && x < rend.Width && y < rend.Height && datoa[0] == oldC && datoa[0] != newC)
{
datoa[0] = newC;
fill(x - 1, y, newC, oldC, rend);
fill(x + 1, y, newC, oldC, rend);
fill(x, y - 1, newC, oldC, rend);
fill(x, y + 1, newC, oldC, rend);
}
else return;
}
This rectangle is to large or too small и т.д.
Или нужно через гетдата всю текстуру передавать?