public void GenerateUpdate(ThrumbneilSize size) { List <Thrumbneil> Thrumbneils = new List <Thrumbneil>(); foreach (Thrumbneil i in size.ThrumbneilSizes) { //Выгрузить в переменную картинку в байтах byte[] CreateImage = File.ReadAllBytes("wwwroot\\" + i.Path.Substring(3)); //Удалить картинку по адресу FileInfo Info = new FileInfo("wwwroot\\" + i.Path.Substring(3)); Info.Delete(); //Назначить новый путь и имя картинке int Namb = i.Name.IndexOf("_"); string NewName = i.Name.Substring(0, Namb + 1); NewName += size.NameSize + ".jpeg"; i.Name = NewName; int Namb1 = i.Path.IndexOf("_"); string NewPath = i.Path.Substring(0, Namb1 + 1); NewPath += size.NameSize + ".jpeg"; i.Path = NewPath; //Записать по новому пути и с новым именем using (imag.Image <imag.PixelFormats.Rgba32> image = imag.Image.Load(CreateImage)) { image.Mutate(x => x.Resize(size.Width, size.Height)); image.Save("wwwroot\\" + i.Path.Substring(3)); } } }
public IActionResult RemoveSize(ThrumbneilSize size) { var Sizes = ImageSizeRepository.GetAll().Single(s => s.Id == size.Id); if (Sizes.ThrumbneilSizes != null) { foreach (Thrumbneil i in Sizes.ThrumbneilSizes) { FileInfo Info = new FileInfo("wwwroot\\" + i.Path.Substring(1)); Info.Delete(); } ImageSizeRepository.Remove(Sizes); ImageSizeRepository.Save(); } return(RedirectToAction("Size")); }
public IActionResult Save(ThrumbneilSize size, bool Check) { var chec = Request.Form["Check"]; //Создать новый размер if (size.Id == 0) { if (chec.Count == 0) { ImageUploader up = new ImageUploader(new ImageGenerator(), ImageSizeRepository, ImageRepository); up.TrumbneilsCreate(size); } else { ImageSizeRepository.Add(size); ImageSizeRepository.Save(); } } //Изменить существующий else { ThrumbneilSize Size = ImageSizeRepository.GetAll().FirstOrDefault(s => s.Id == size.Id); if (Size != null) { Size.Height = size.Height; Size.Width = size.Width; Size.NameSize = size.NameSize; } ImageUploader up = new ImageUploader(new ImageGenerator(), ImageSizeRepository, ImageRepository); if (Size.ThrumbneilSizes != null) { up.TrumbnailsUpdate(Size); ImageSizeRepository.Save(); } } return(RedirectToAction("Size")); // return RedirectToAction("Size"); }
public List <Thrumbneil> GenerateCreate(List <Image> Images, ThrumbneilSize size, string PathFile) { List <Thrumbneil> Thrumbneils = new List <Thrumbneil>(); foreach (Image i in Images) { string FileMiny = DateTime.Now.ToBinary().ToString() + "_" + size.Width + "_" + size.Height + ".jpeg"; string Path = ".." + PathFile.Substring(18) + FileMiny; //Заменить в срочном порядке byte[] CreateImage = File.ReadAllBytes(PathFile + i.Name); using (imag.Image <imag.PixelFormats.Rgba32> image = imag.Image.Load(CreateImage)) { image.Mutate(x => x.Resize(size.Width, size.Height)); image.Save(PathFile + FileMiny); } Thrumbneil trumbneil = new Thrumbneil() { Path = Path, Name = FileMiny }; Thrumbneils.Add(trumbneil); } return(Thrumbneils); }
public void TrumbneilsCreate(ThrumbneilSize size) { ThrumbneilSize Size = new ThrumbneilSize(); Size = size; Size.NameSize = Size.Width + "_" + Size.Height; var Images = ImageRepository.GetAll().ToList(); if (Images.Count != 0) { List <Thrumbneil> Trumbneils = ImageGenerator.GenerateCreate(Images, size, GenerateFilePath()); var Images1 = ImageRepository.GetAll().ToList(); for (int i = 0; i < Trumbneils.Count(); i++) { Trumbneils[i].ThrumbneilSize = Size; if (Images1[i].Thrumbneils != null) { Images1[i].Thrumbneils.Add(Trumbneils[i]); } else { Images1[i].Thrumbneils = new List <Thrumbneil>(); Images1[i].Thrumbneils.Add(Trumbneils[i]); } } } else { ImageSizeRepository.Add(Size); } //ImageSizeRepository.Add(Size); ImageSizeRepository.Save(); //ImageSizeRepository.Add(Size); }
public IActionResult Edit(int id) { ThrumbneilSize thrumbneilSize = ImageSizeRepository.Context.ThrumbneilSizes.FirstOrDefault(i => i.Id == id); return(View(thrumbneilSize)); }
public void Remove(ThrumbneilSize thrumbneilSize) { Context.Remove(thrumbneilSize); }
public void Add(ThrumbneilSize thrumbneilSize) { Context.ThrumbneilSizes.Add(thrumbneilSize); }
public void TrumbnailsUpdate(ThrumbneilSize size) { size.NameSize = size.Width + "_" + size.Height; ImageGenerator.GenerateUpdate(size); }