The getCropUrl method generates an HMAC and appends it to the URL automatically. If you want to do something bespoke, you have to generate the record of imagesharp options, then calculate an HMAC based on those.
You can call on IImageUrlGenerator.GetImageUrl(ImageUrlGenerationOptions? options) to calculate the final URI, but essentially the actual HMAC generation is a few lines:
if (_options.HMACSecretKey.Length != 0 && _requestAuthorizationUtilities is not null)
{
var uri = QueryHelpers.AddQueryString(options.ImageUrl, queryString);
var token = _requestAuthorizationUtilities.ComputeHMAC(uri, CommandHandling.Sanitize);
if (string.IsNullOrEmpty(token) is false)
{
queryString.Add(RequestAuthorizationUtilities.TokenCommand, token);
}
}