我有一個JPEG格式圖像,白色背景和黑色圓圈。如何將JPEG圖像轉換爲透明背景的PNG圖像?
如何將此圖像轉換爲PNG格式,白色背景是透明的而黑色仍然存在?
我也是程序員,如果在C#代碼中有一些想法,我會很高興。此外,我正在尋找一款轉換器,工具,編程任何東西。
謝謝。
傑夫
我有一個JPEG格式圖像,白色背景和黑色圓圈。如何將JPEG圖像轉換爲透明背景的PNG圖像?
如何將此圖像轉換爲PNG格式,白色背景是透明的而黑色仍然存在?
我也是程序員,如果在C#代碼中有一些想法,我會很高興。此外,我正在尋找一款轉換器,工具,編程任何東西。
謝謝。
傑夫
這是工作,但緩慢的解決方案。你可以通過使用Bitmap.LockBits()來加速它。
using (Image img = Image.FromFile(filename))
using (Bitmap bmp = new Bitmap(img))
{
for (int x = 0; x < img.Width; x++)
{
for (int y = 0; y < img.Height; y++)
{
Color c = bmp.GetPixel(x, y);
if (c.R == 255 && c.G == 255 && c.B == 255)
bmp.SetPixel(x, y, Color.FromArgb(0));
}
}
bmp.Save("out.png", ImageFormat.Png);
}
嗯,我應該輸入什麼來使用'圖像','位圖'和'顏色'? – 2010-10-11 13:04:16
你需要引用System.Drawing.dll – ironic 2010-10-11 13:07:05
是的,這是我的這樣一個完整的問題... – 2010-10-11 13:10:59
您可以使用ImageMagick工具like this example。
您需要將-background
選項設置爲transparent
,在該-alpha
選項設置爲set
和使用-transparent
選項設置要被interpretted爲透明的顏色。另見convert tool reference。
任何合理的圖像編輯器(例如Paint.NET)都可以做到這一點。你真的需要代碼嗎? – 2010-10-11 12:49:46
我實際上並不需要代碼,我只想讓背景透明,如何以及使用什麼工具並不重要。 – 2010-10-11 12:51:21