public ResultProcessImageDTO AddEffectoImagen(ProcessDataImageDTO processDataImage) { ResultProcessImageDTO resultProcessImage = new ResultProcessImageDTO(); resultProcessImage.TipoEffecto = processDataImage.TipoEffecto; string Base64String = processDataImage.ImagenBase64.Replace("data:image/png;base64,", ""); byte[] bytes = Convert.FromBase64String(Base64String); Image image; using (MemoryStream ms = new MemoryStream(bytes)) { image = Image.FromStream(ms); if (processDataImage.Alto.HasValue && processDataImage.Ancho.HasValue) { image = _processEffectsImageProvider.RedimencionarImagen(image, (int)processDataImage.Alto, (int)processDataImage.Ancho); } } switch (processDataImage.TipoEffecto) { case Core.Enums.TipoEffecto.Sepia: image = _processEffectsImageProvider.ProcesarTonoSepia(image); break; case Core.Enums.TipoEffecto.Trasnparencia: image = _processEffectsImageProvider.ProcesarTransparecia(image); break; case Core.Enums.TipoEffecto.Negativo: image = _processEffectsImageProvider.ProcesarNegativa(image); break; case Core.Enums.TipoEffecto.EscalaGris: image = _processEffectsImageProvider.ProcesarEscalaGrises(image); break; } //TODO aun no se esta usando el enum de nuestro sistema del formato string imagenbase64 = _processEffectsImageProvider.ImagenToBase64(image, ImageFormat.Png); resultProcessImage.ImagenProcesadaBase64 = imagenbase64; return(resultProcessImage); }
public IActionResult AgregarTonalidadesAImagenes([FromBody] ProcessImagesInputDTO processImagesInput) { List <ResultProcessImageDTO> resultProcessImages = new List <ResultProcessImageDTO>(); //mapeo mi dto de entrada del api a uno que necesaita el servicio ProcessDataImageDTO processDataImage = _mapper.Map <ProcessDataImageDTO>(processImagesInput); //recorro los efectos ya que la demas data< es igul para todo processImagesInput.TiposEffectos.ForEach(z => { processDataImage.TipoEffecto = z; ResultProcessImageDTO resultProcessImage = _effectImageService.AddEffectoImagen(processDataImage); resultProcessImages.Add(resultProcessImage); }); return(Ok(resultProcessImages)); }
public IActionResult AgregarEfectoTono([FromBody] ProcessDataImageDTO processDataImage) { ResultProcessImageDTO resultProcessImage = _effectImageService.AddEffectoImagen(processDataImage); return(Ok(resultProcessImage)); }