asp 获取图片的 大小 和像素 ,分辨率,以及压缩图片

 

获取图片的分辨率:

  public static System.IO.Stream fileDataStream = null;

 fileDataStream = FileUpload1.PostedFile.InputStream;

 System.Drawing.Image image = System.Drawing.Image.FromStream(fileDataStream);//从上传文件流中实例化Image类 
            float w = image.Width;//获取上传文件的水平分辨率(以“像素/英寸”为单位)。 
            float h = image.Height;//获取上传文件的垂直分辨率(以“像素/英寸”为单位)。 

 

 

获取图片的大小:

 public static int fileLength = 0;

 fileLength = FileUpload1.PostedFile.ContentLength;//获取上传控件 fileupload 的内容的大小 这个是以字节的形式存在的

 

 

图片的压缩:

  #region 压缩图片

        /// <summary>   
        /// 压缩图片   
        /// </summary>   
        /// <param name="filePath">要压缩的图片的路径</param>   
        /// <param name="filePath_ystp">压缩后的图片的路径</param>   
        public void ystp(Stream fileDataStream, string filePath_ystp)
        {
            //Bitmap   
            Bitmap bmp = null;

            //ImageCoderInfo    
            ImageCodecInfo ici = null;

            //Encoder   
            Encoder ecd = null;

            //EncoderParameter   
            EncoderParameter ept = null;

            //EncoderParameters   
            EncoderParameters eptS = null;

            try
            {
                bmp = new Bitmap(fileDataStream);

                ici = this.getImageCoderInfo("image/jpeg");

                ecd = Encoder.Quality;

                eptS = new EncoderParameters(1);

                ept = new EncoderParameter(ecd, 10L);
                eptS.Param[0] = ept;
                bmp.Save(filePath_ystp, ici, eptS);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                bmp.Dispose();

                ept.Dispose();

                eptS.Dispose();
            }
        }

        /// <summary>   
        /// 获取图片编码类型信息   
        /// </summary>   
        /// <param name="coderType">编码类型</param>   
        /// <returns>ImageCodecInfo</returns>   
        private ImageCodecInfo getImageCoderInfo(string coderType)
        {
            ImageCodecInfo[] iciS = ImageCodecInfo.GetImageEncoders();

            ImageCodecInfo retIci = null;

            foreach (ImageCodecInfo ici in iciS)
            {
                if (ici.MimeType.Equals(coderType))
                    retIci = ici;
            }

            return retIci;
        }

        #endregion 压缩图片

 

 

获取文件的扩展名

 private static bool IsAllowedExtension(FileUpload upfile)
        {
            string strOldFilePath = "";
            string strExtension = "";
            string[] arrExtension = { ".jpg" };
            if (upfile.PostedFile.FileName != string.Empty)
            {
                strOldFilePath = upfile.PostedFile.FileName;//获得文件的完整路径名 
                strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf(".")).ToLower();//获得文件的扩展名,如:.jpg 
                for (int i = 0; i < arrExtension.Length; i++)
                {
                    if (strExtension.Equals(arrExtension[i]))
                    {
                        return true;
                    }
                }
            }
            return false;
        }
posted on 2012-10-20 15:00  小东北  阅读(3722)  评论(0编辑  收藏  举报