0
我不能相信這個問題還沒有被問到,但是...如何從動畫GIF中刪除透明度?
如何在不破壞動畫的情況下將GIF圖像的透明背景替換爲白色?
我離開我的領域,所以我幾乎失去了(我真的不知道該怎麼做)。
這是我試過沒有運氣:
public byte[] RemoveTransparency(byte[] gifBytes)
{
using(MemoryStream gifStream = new MemoryStream(gifBytes))
using(Image gifImage = Image.FromStream(gifStream))
using(Image newImage = new Bitmap(gifImage.Width, gifImage.Height, PixelFormat.Format32bppPArgb))
using(MemoryStream newImageStream = new MemoryStream())
{
Color background = Color.White;
newImage.SetResolution(gifImage.HorizontalResolution, gifImage.VerticalResolution);
using (Graphics graphics = Graphics.FromImage(newImage))
{
graphics.Clear(background);
graphics.DrawImage(gifImage, 0, 0, gifImage.Width, gifImage.Height);
}
newImage.Save(newImageStream);
return newImageStream.ToArray();
}
}
也許這可能會幫助你:http://stackoverflow.com/questions/618259/remove-transparency-in-images-with-c-sharp –
@ErikAuranaune該解決方案將打破我的GIF動畫 –
爲什麼downvote? :( –