zoukankan      html  css  js  c++  java
  • C# 获取Image图片格式

    private void button1_Click_1(object sender, EventArgs e)
            {
                string path = Application.StartupPath;
                using (FileStream file = new FileStream(txtpath.Text, FileMode.Open))
                {
                    Image img = Image.FromStream(file);
                    string format;
                    System.Drawing.Imaging.ImageFormat _img_format = GetImageFormat(img, out format);
                    if (_img_format != null)
                    {
                        img.Save(path + @"" + Guid.NewGuid().ToString() + format, _img_format);
                        MessageBox.Show("ok");
                    }
                }
                
            }
    
            /// <summary>
            /// 获取Image图片格式
            /// </summary>
            /// <param name="file"></param>
            /// <param name="format"></param>
            /// <returns></returns>
            private System.Drawing.Imaging.ImageFormat GetImageFormat(FileStream file, out string format)
            {
                byte[] sb = new byte[2];  //这次读取的就是直接0-1的位置长度了.
                file.Read(sb, 0, sb.Length);
                //根据文件头判断
                string strFlag = sb[0].ToString() + sb[1].ToString();
                //察看格式类型
                switch (strFlag)
                {
                    //JPG格式
                    case"255216":
                        format = ".jpg";
                        return System.Drawing.Imaging.ImageFormat.Jpeg;
                    //GIF格式
                    case"7173":
                        format = ".gif";
                        return System.Drawing.Imaging.ImageFormat.Gif;
                    //BMP格式
                    case"6677":
                        format = ".bmp";
                        return System.Drawing.Imaging.ImageFormat.Bmp;
                    //PNG格式
                    case"13780":
                        format = ".png";
                        return System.Drawing.Imaging.ImageFormat.Png;
                    //其他格式
                    default:
                        format = string.Empty;
                        return null;
                }
            }
    
            /// <summary>
            /// 获取Image图片格式
            /// </summary>
            /// <param name="_img"></param>
            /// <param name="format"></param>
            /// <returns></returns>
            private System.Drawing.Imaging.ImageFormat GetImageFormat(Image _img,out string format)
            {
                if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
                {
                    format = ".jpg";
                    return System.Drawing.Imaging.ImageFormat.Jpeg;
                }
                if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif))
                {
                    format = ".gif";
                    return System.Drawing.Imaging.ImageFormat.Gif;
                }
                if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
                {
                    format = ".png";
                    return System.Drawing.Imaging.ImageFormat.Png;
                }
                if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp))
                {
                    format = ".bmp";
                    return System.Drawing.Imaging.ImageFormat.Bmp;
                }
                format = string.Empty;
                return null;
            }
  • 相关阅读:
    PS 修复画笔
    PS 魔棒工具、仿制图章
    PS选区的应用
    PS界面介绍
    火狐浏览器任务栏设置默认 隐私模式开启
    [CSS] Using inline-grid to gain easy control over gap and size
    [AWS] Presign url for S3
    [CSS] Customer focus / disabled style for select element
    [CSS] Using single grid-template-area and justify-self to select arrow down icon in select
    [CSS 3] Using CSS attribute selector
  • 原文地址:https://www.cnblogs.com/testsec/p/6095888.html
Copyright © 2011-2022 走看看