public virtual IImageAnalysis Create(IImageSearchResult result) { var analysis = Create(); if (result == null) { return(analysis); } analysis.FacialAnalysis = result.FacialAnalysis; analysis.TextAnalysis = result.TextAnalysis; analysis.VisionAnalysis = result.VisionAnalysis; analysis.People = result.People; Item i = DataWrapper.GetItemByUri(result?.UniqueId ?? string.Empty); if (i == null) { return(analysis); } analysis.ImageHeight = MediaWrapper.GetImageHeight(i); analysis.ImageWidth = MediaWrapper.GetImageWidth(i); analysis.ImageUrl = $"/sitecore/shell/Applications/-/media/{i.ID.Guid:N}.ashx"; return(analysis); }
public List <string> ValidateVisionImage(MediaItem image, int newHeight, int newWidth) { List <string> validationErrors = new List <string>(); List <string> validExtensions = new List <string> { "jpg", "jpeg", "png", "gif", "bmp" }; //Supported image formats: JPEG, PNG, GIF, BMP. if (!validExtensions.Contains(image.Extension)) { validationErrors.Add("Vision API only supports JPEG, PNG, GIF, and BMP."); } //Image dimensions must be at least 50 x 50. var height = MediaWrapper.GetImageHeight(image); var width = MediaWrapper.GetImageWidth(image); if (newHeight > height || newWidth > width) { validationErrors.Add("New dimensions must at be smaller than the original dimensions."); } if (height < 50 || width < 50) { validationErrors.Add("Vision API images must at least be 50px in height and width."); } //Image file size must be less than 4MB. if (image.Size >= 4000000) { validationErrors.Add("Vision API images must be less than 4MB."); } return(validationErrors); }
public ActionResult SmartCrop(string id, string language, string db) { if (!IsSitecoreUser()) { return(LoginPage()); } Item m = DataWrapper.GetItemByIdValue(id, db); var height = MediaWrapper.GetImageHeight(m); var width = MediaWrapper.GetImageWidth(m); var model = new SmartCrop() { Height = height, Width = width }; return(View("SmartCrop", model)); }
public List <string> ValidateFaceImage(MediaItem image) { List <string> validationErrors = new List <string>(); List <string> validExtensions = new List <string> { "jpg", "jpeg", "png", "gif", "bmp" }; //JPEG, PNG, GIF (the first frame), and BMP format are supported. if (!validExtensions.Contains(image.Extension)) { validationErrors.Add("Face API only supports JPEG, PNG, GIF, and BMP."); } //valid dimensions - 36x36 to 4096x4096 var height = MediaWrapper.GetImageHeight(image); var width = MediaWrapper.GetImageWidth(image); if (height < 36 || width < 36) { validationErrors.Add("Face API images must at least be 36px in height and width."); } if (height > 4096 || width > 4096) { validationErrors.Add("Face API images cannot be more than 4096px in height or width."); } //valid file sizes - 1KB to 6MB if (image.Size < 1000) { validationErrors.Add("Face API images must be at least 1KB."); } if (image.Size > 6000000) { validationErrors.Add("Face API images can't be more than 6MB."); } return(validationErrors); }