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; }