示例#1
0
 /// <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);
     }
 }