
ColorSwap()
By: a guest on
Aug 28th, 2012 | syntax:
C# | size: 0.57 KB | hits: 29 | expires: Never
public static Texture2D ColorSwap(string textureName, Dictionary<Color, Color> colorMap) {
Texture2D cachedTexture = ContentLoader.LoadTexture(textureName);
Texture2D colorSwappedTexture = new Texture2D(Pigeon.Graphics.GraphicsDevice, cachedTexture.Width, cachedTexture.Height);
Color[] data = new Color[cachedTexture.Width * cachedTexture.Height];
cachedTexture.GetData(data);
for (int i = 0; i < data.Length; i++) {
if (colorMap.ContainsKey(data[i])) {
data[i] = colorMap[data[i]];
}
}
colorSwappedTexture.SetData(data);
return colorSwappedTexture;
}