Quantcast
Channel: magick Discussions Rss Feed
Viewing all articles
Browse latest Browse all 3693

New Post: Layers with distort perspective

$
0
0
It took me a while but I think I have a solution for you:
// Magick.NET understands the ~ prefix.var first = new MagickImage(@"~\files\house.jpg");
var second = new MagickImage(@"~\files\monkey.jpg");

double[] args =
{
  // Move 0x0 to 105x54
  0,0, 105,54,
  // Move 0x120 to 105x152
  0,second.Height, 105,152,
  // Move 180x0 to 163x76
  second.Width,0, 163,76,
  // Move 180x120 to 163x122
  second.Width,second.Height, 163,122
};

// Extend the second image if it does not fit in the first image.if (second.Height < first.Height || second.Width < first.Width)
{
  second.BackgroundColor = MagickColor.Transparent;
  second.Extent(first.Width, first.Height);
}

// Perform the distortion.
second.HasAlpha = true;
second.VirtualPixelMethod = VirtualPixelMethod.Transparent;
second.Distort(DistortMethod.Perspective, args);

// Draw second image on top of first image.
first.Composite(second, Gravity.Northwest, CompositeOperator.SrcOver);
first.Write(@"~\files\house_with_paint.jpg");

Viewing all articles
Browse latest Browse all 3693

Trending Articles