2010年5月3日 星期一

[.NET]將BMP圖檔轉換成透明背景的PNG格式

string[] t_sFiles = Directory.GetFiles(txtDirectory.Text, "*.bmp");

foreach (string t_sFileName in t_sFiles)
{
int nPos = t_sFileName.LastIndexOf(".");
if (nPos < 0)
continue;
Bitmap t_pBMP = new Bitmap(t_sFileName);
t_pBMP.MakeTransparent(t_pBMP.GetPixel(0, 0));
int lastDiv = t_sFileName.LastIndexOf("\\");
string t_sPngFile =
t_sFileName.Substring(lastDiv + 1, nPos - lastDiv - 1) + ".png";
t_pBMP.Save(t_sPathForPNG + t_sPngFile,
System.Drawing.Imaging.ImageFormat.Png);
}

為了要開發IPhone遊戲,需要使用一些圖片來測試Sprite,可是我手中只有單一背景的圖片可以使用,以前在使用DirectX的時候,可以透過DirectX SDK提供的function來達到去背,在iphone上似乎只能使用png格式來去背...
因此寫了支簡單的轉換程式,將第一個像素當成背景顏色,將原先的背景轉換成透明背景

沒有留言:

張貼留言

嘎嘎嘎