Я пытаюсь обрезать текстуру2d в xna. я нашел следующий код, который обрезает изображение в верхней и правой сторонах, я играл с кодом и не могу определить способ обрезать все стороны с определенным интервалом. ниже приведен код, который я пытался изменить:Обрезка texture2d со всех сторон в xna C#
Любая помощь или идеи были бы высоко оценены.
Rectangle area = new Rectangle(0, 0, 580, 480);
Texture2D cropped = new Texture2D(heightMap1.GraphicsDevice, area.Width, area.Height);
Color[] data = new Color[heightMap1.Width * heightMap1.Height];
Color[] cropData = new Color[cropped.Width * cropped.Height];
heightMap1.GetData(data);
int index = 0;
for (int y = 0; y < area.Y + area.Height; y++) // for each row
{
for (int x = 0; x < area.X + area.Width; x++) // for each column
{
cropData[index] = data[x + (y * heightMap1.Width)];
index++;
}
}
cropped.SetData(cropData);
Что случилось с ним? Что вызывает проблемы? – Cyral
Мне нужно обрезать 20 пикселей со всех сторон изображения, это только обрезает 20 с верхней и правой стороны :( –
Вам нужно обрезать текстуру и предоставить выход обратно пользователю как некоторый тип загрузки или сделать вы должны нарисовать текстуру обрезанным? Если вы пытаетесь нарисовать часть экрана большей текстуры, то это влияет на –