Пример #1
0
        public async Task <PHOTOnline.Domain.Entities.Images.Image> CreateImageAsync(
            string localPath, string contentType, string originalFileName)
        {
            ImageVariant originalVariant = await StoreImageVariant(
                localPath, contentType, originalFileName);

            ImageVariant thumbnailVariant = await CreateImageVariant(
                localPath, contentType, originalFileName, THUMBNAIL_MAX, 0, null);

            ImageVariant smallVariant = await CreateImageVariant(
                localPath, contentType, originalFileName, SMALL_MAX, THUMBNAIL_MAX, thumbnailVariant);

            ImageVariant mediumVariant = await CreateImageVariant(
                localPath, contentType, originalFileName, MEDIUM_MAX, SMALL_MAX, smallVariant);

            ImageVariant largeVariant = await CreateImageVariant(
                localPath, contentType, originalFileName, LARGE_MAX, MEDIUM_MAX, mediumVariant);

            return(new Domain.Entities.Images.Image()
            {
                Original = originalVariant,
                Thumbnail = thumbnailVariant,
                Small = smallVariant,
                Medium = mediumVariant,
                Large = largeVariant,
                Title = originalFileName
            });
        }
Пример #2
0
        private async Task <ImageVariant> CreateImageVariant(
            string localPath, string contentType, string originalFileName,
            int maxWidth, int minWidth, ImageVariant smallerVariant)
        {
            string resizedImagePath = FitImageToSize(localPath, contentType, maxWidth, minWidth);

            if (resizedImagePath == null)
            {
                return(smallerVariant);
            }

            return(await StoreImageVariant(resizedImagePath, contentType, originalFileName));
        }