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;
            }
  • 相关阅读:
    【BZOJ 2844】: albus就是要第一个出场
    BZOJ 2631: tree
    BZOJ1798: [Ahoi2009]Seq 维护序列seq
    Link-Cut Tree指针模板
    bzoj 4916: 神犇和蒟蒻 (杜教筛+莫比乌斯反演)
    【BZOJ 3561】 DZY Loves Math VI
    linux 安装php7.2 以及配置laravel环境(public目录下)
    composer 配置 切换中国镜像
    phpstorm composer 提示php 版本过低的问题调整
    如何在阿里云的虚机 部署laravel项目
  • 原文地址:https://www.cnblogs.com/testsec/p/6095888.html
Copyright © 2011-2022 走看看