internal static string GetCropBaseUrl(this ImageCropDataSet cropDataSet, string cropAlias, bool preferFocalPoint) { var cropUrl = new StringBuilder(); var crop = cropDataSet.GetCrop(cropAlias); // if crop alias has been specified but not found in the Json we should return null if (string.IsNullOrEmpty(cropAlias) == false && crop == null) { return(null); } if ((preferFocalPoint && cropDataSet.HasFocalPoint()) || (crop != null && crop.Coordinates == null && cropDataSet.HasFocalPoint()) || (string.IsNullOrEmpty(cropAlias) && cropDataSet.HasFocalPoint())) { cropUrl.Append("?center=" + cropDataSet.FocalPoint.Top.ToString(CultureInfo.InvariantCulture) + "," + cropDataSet.FocalPoint.Left.ToString(CultureInfo.InvariantCulture)); cropUrl.Append("&mode=crop"); } else if (crop != null && crop.Coordinates != null && preferFocalPoint == false) { cropUrl.Append("?crop="); cropUrl.Append(crop.Coordinates.X1.ToString(CultureInfo.InvariantCulture)).Append(","); cropUrl.Append(crop.Coordinates.Y1.ToString(CultureInfo.InvariantCulture)).Append(","); cropUrl.Append(crop.Coordinates.X2.ToString(CultureInfo.InvariantCulture)).Append(","); cropUrl.Append(crop.Coordinates.Y2.ToString(CultureInfo.InvariantCulture)); cropUrl.Append("&cropmode=percentage"); } else { cropUrl.Append("?anchor=center"); cropUrl.Append("&mode=crop"); } return(cropUrl.ToString()); }
public MvcHtmlString RoundedCorners(int radius, Color backgroundColor) { if (_isOriginal) { return(new MvcHtmlString(_underlying.Src + "?roundedcorners=" + radius.ToString() + "&bgcolor=" + GetHexColor(backgroundColor))); } else { return(new MvcHtmlString(_underlying.Src + _underlying.GetCropUrl(_alias, useFocalPoint: _underlying.HasFocalPoint()) + "&roundedcorners=" + radius.ToString() + "&bgcolor=" + GetHexColor(backgroundColor))); } }