Как обрабатывать 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");
}
}