1
我想在xna中裁剪texture2d。我發現下面的代碼會在上面和右側裁剪圖像,我玩過代碼並且無法想象在特定時間間隔內裁剪所有面的方法。下面是我一直試圖修改的代碼:在xna c中裁剪texture2d#
任何幫助或想法將不勝感激。
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 2013-04-22 00:27:56
我需要在圖像的所有邊上裁剪20個像素,這隻會從頂部和右側裁剪20個像素:( – 2013-04-22 00:50:23
您是否需要剪裁紋理並將輸出提供給用戶作爲某種類型的下載或做你必須繪製紋理裁剪?如果你試圖畫出一些較大的紋理部分到屏幕上,那麼影響 – 2013-04-22 01:03:14