private static PicInfo GetPicInfo(string url) { var picInfo = new PicInfo(); if (url.Count(c => c == '.') > 2) { return(null); } var arrs = url.Split('_'); if (arrs.Length <= 1) { return(null); } picInfo.SourcePath = string.Join("_", arrs.Take(arrs.Length - 1)); var sizeWithExtStr = arrs.LastOrDefault(); if (string.IsNullOrWhiteSpace(sizeWithExtStr)) { return(null); } var sizeWithExtArray = sizeWithExtStr.Split('.'); if (sizeWithExtArray.Length <= 1) { return(null); } var sizeArray = sizeWithExtArray[0].Split('X'); if (sizeArray.Length <= 1) { return(null); } int w, h; if (!int.TryParse(sizeArray[0], out w) || !int.TryParse(sizeArray[1], out h)) { return(null); } picInfo.Width = w; picInfo.Height = h; if (picInfo.Width <= 0 || picInfo.Height <= 0) { return(null); } return(picInfo); }
internal bool IsCommonSize(PicInfo picInfo) { return(picInfo.Width == picInfo.Height && this.AllowSizes.Any(c => c.Width == picInfo.Width)); }
internal bool IsFixSize(PicInfo picInfo) { return(picInfo.Height == FixHeight && this.AllowSizes.Any(c => c.Width == picInfo.Width && c.Height == FixHeight)); }