Как обрабатывать ImageMagick только одну часть изображения?

У меня есть изображение, как показано ниже, и я хочу создать на нем эффект искажения. Но только одна часть изображения, а не весь образ.

введите описание изображения здесь

Благодарю.

1 ответ

Я предполагаю, что вы используете Magick.NET ( https://magick.codeplex.com/), потому что вы добавили тег C#.

В приведенном ниже примере сначала будут вырезаны верхние 123 пикселя изображения и применены искажения к нему. После искажения его нужно будет поместить поверх исходного изображения.

using (MagickImage image = new MagickImage("0nF6D.png"))
{
  using (MagickImage top = image.Clone())
  {
    top.Crop(image.Width, 123, Gravity.North);
    top.Distort(DistortMethod.ScaleRotateTranslate, new double[] { 2, 45 });
    image.Composite(top, Gravity.North, CompositeOperator.SrcOver);
    image.Write("0nF6D.distorted.png");
  }
}
Другие вопросы по тегам