private void FadeImage(DirectoryInfo pictDir, IMagickImage result, FileInfo original) { Percentage p = new Percentage(12.0); for (int i = 0; i < nFades; i++) { result.Colorize(blackColor, p); string filename = String.Format("{0}_{1}.JPG", original.Name.Substring(0, (original.Name.LastIndexOf("."))), (i + 1)); FileInfo colorized = new FileInfo(pictDir.FullName + "\\" + filename); result.Write(colorized); } }
/// <summary> /// Realiza uma determinada ação na imagem /// </summary> /// <param name="acao">Ação a executar</param> /// <param name="imagem">Imagem</param> public void ProcessarAcao(Acao acao, IMagickImage imagem) { if (acao is AcaoEscala escala) { imagem.Scale(new Percentage(escala.Percentagem)); } else if (acao is AcaoRotacao rotacionar) { imagem.Rotate(rotacionar.Angulo); } else if (acao is AcaoTranslacao translacao) { using (var imgOr = imagem.Clone()) { imagem.Colorize(MagickColors.Black, new Percentage(100)); imagem.Composite(imgOr, translacao.X, translacao.Y); } } else { ProcessarAcao(RecuperarDetalhes(acao), imagem); } }