Beispiel #1
0
 private void DeleteCrop(object parameter)
 {
     if (SelectedCrop != null)
     {
         CropDTO newCrop = new CropDTO
         {
             Id = Id,
         };
         GetRepository().DeleteCrop(newCrop);
         ShowCropsInCultivation();
     }
 }
 public HttpResponseMessage CropImages(CroppersDTO cropData)
 {
     FilesStatus fs = null;
     try
     {
         var res = new CroppersResultDTO();
         var folderManager = FolderManager.Instance;
         var fileManager = FileManager.Instance;
         string rawImageUrl = cropData.url;
         if (rawImageUrl.IndexOf('?') > 0)
         {
             rawImageUrl = rawImageUrl.Substring(0, rawImageUrl.IndexOf('?'));
         }
         rawImageUrl = rawImageUrl.Replace(PortalSettings.HomeDirectory, "");
         var file = fileManager.GetFile(ActiveModule.PortalID, rawImageUrl);
         if (file != null)
         {
             string cropfolder = "OpenContent/Files/" + ActiveModule.ModuleID;
             if (!string.IsNullOrEmpty(cropData.cropfolder))
             {
                 cropfolder = cropData.cropfolder;
             }
             var userFolder = folderManager.GetFolder(PortalSettings.PortalId, cropfolder);
             if (userFolder == null)
             {
                 userFolder = folderManager.AddFolder(PortalSettings.PortalId, cropfolder);
             }
             foreach (var cropper in cropData.croppers)
             {
                 string key = cropper.Key;
                 string newFilename = Path.GetFileNameWithoutExtension(file.FileName) + "-" + key + Path.GetExtension(file.FileName);
                 var resizeInfo = cropper.Value;
                 CropDTO cropInfo = null;
                 if (cropData.cropdata.ContainsKey(key))
                 {
                     cropInfo = cropData.cropdata[key].cropper;
                 }
                 var cropResult = CropFile(file, newFilename, cropInfo, resizeInfo, userFolder);
                 res.cropdata.Add(key, cropResult);
             }
         }
         return Request.CreateResponse(HttpStatusCode.OK, res);
     }
     catch (Exception exc)
     {
         Logger.Error(exc);
         return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc);
     }
 }
        private CropResizeResultDTO CropFile(IFileInfo file, string newFilename, CropDTO crop, ResizeDTO resize, IFolderInfo userFolder)
        {
            var cropresult = new CropResizeResultDTO();

            if (crop != null)
            {
                cropresult.crop = crop;
            }
            else
            {
                cropresult.crop = new CropDTO();
            }

            var folderManager = FolderManager.Instance;
            var fileManager   = FileManager.Instance;

            var   folder       = folderManager.GetFolder(file.FolderId);
            var   image        = Image.FromFile(file.PhysicalPath);
            Image imageCropped = null;

            if (crop == null || crop.x < 0 || crop.y < 0) // center
            {
                int left   = 0;
                int top    = 0;
                int width  = 0;
                int height = 0;
                imageCropped           = ImageHelper.SaveCroppedImage(image, resize.width, resize.height, out left, out top, out width, out height);
                cropresult.crop.x      = left;
                cropresult.crop.y      = top;
                cropresult.crop.width  = width;
                cropresult.crop.height = height;
            }
            else if (crop.width > 0 && crop.width > 0)
            {
                imageCropped = ImageHelper.Crop(image, crop.x, crop.y, crop.width, crop.height);
                if (resize != null && resize.width > 0 && resize.height > 0)
                {
                    imageCropped = ImageHelper.Resize(imageCropped, resize.width, resize.height);
                }
            }
            Stream      content   = new MemoryStream();
            ImageFormat imgFormat = ImageFormat.Bmp;

            if (file.Extension.ToLowerInvariant() == "png")
            {
                imgFormat = ImageFormat.Png;
            }
            else if (file.Extension.ToLowerInvariant() == "gif")
            {
                imgFormat = ImageFormat.Gif;
            }
            else if (file.Extension.ToLowerInvariant() == "jpg")
            {
                imgFormat = ImageFormat.Jpeg;
            }
            if (imageCropped != null)
            {
                imageCropped.Save(content, imgFormat);
                var newFile = fileManager.AddFile(userFolder, newFilename, content, true);
                cropresult.url = newFile.ToUrl();
                return(cropresult);
            }
            return(null);
        }
Beispiel #4
0
 public void AddCrop(CropDTO _crop)
 {
     cropRepo.Add(_crop);
 }
Beispiel #5
0
 public void DeleteCrop(CropDTO _crop)
 {
     cropRepo.Delete(_crop);
 }
Beispiel #6
0
 public void UpdateCrop(CropDTO _crop)
 {
     cropRepo.Update(_crop);
 }