C#判断一个图像是否是透明的GIF图的方法

本文实例讲述了C#判断一个图像是否是透明的GIF图的方法。分享给大家供大家参考。具体如下:
1. 使用方法如下:

System.Drawing.Image objImage = DownloadImage("https://www.google.com/images/srpr/logo3w.png");
if (IsTransparentPalette(objImage.Palette)) {//your code....}

2. C#代码如下:

public bool IsTransparentPalette(System.Drawing.Imaging.ColorPalette palette)
{
  if (palette.Flags!= 1 )
    return false;
  int total_colors = palette.Entries.GetLength(0);
  for (int i = 0; i < total_colors - 1; i++)
  {
    if (palette.Entries[i].A != 0)
    {
      return false;
    }
  }
  return true;
}
public System.Drawing.Image DownloadImage(string url)
{
  System.Drawing.Image tmpImage = null;
  try
  {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.AllowWriteStreamBuffering = true;
    request.UserAgent = UserAgent;
    request.Accept = "GET HTTP/1.1";
    request.Timeout = 2000;
    System.Net.WebResponse webResponse = request.GetResponse();
    System.IO.Stream webStream = webResponse.GetResponseStream();
    if (webStream != null) tmpImage = System.Drawing.Image.FromStream(webStream);
    webResponse.Close();
    webResponse.Close();
  }
  catch (Exception exception)
  {
    return null;
  }
  return tmpImage;
}

希望本文所述对大家的C#程序设计有所帮助。

你可能感兴趣的:(C#判断一个图像是否是透明的GIF图的方法)