private void CreateMask(string filename, Image testImage, Rectangle maskRectangle) { var mask = new Bitmap(testImage.Width, testImage.Height); mask.CreateMask(maskRectangle); using (var graphics = Graphics.FromImage(mask)) { using (var crop = testImage.Crop(maskRectangle)) { graphics.DrawImage(crop, maskRectangle, new Rectangle(0,0,crop.Width, crop.Height), GraphicsUnit.Pixel); } } mask.Save(Path.Combine(Path.GetDirectoryName(filename) + "", Path.GetFileNameWithoutExtension(filename) + ".mask.png"), ImageFormat.Png); }
protected Image CreateMask(Image image, Rectangle maskRectangle) { var mask = AForge.Imaging.Image.Clone((Bitmap)image, PixelFormat.Format24bppRgb); using (var graphics = Graphics.FromImage(mask)){ using (var crop = image.Crop(maskRectangle)){ graphics.DrawImage(crop, maskRectangle, new Rectangle(0, 0, crop.Width, crop.Height), GraphicsUnit.Pixel); graphics.DrawRectangle(new Pen(new SolidBrush(Color.Red), 3), maskRectangle); } } return(mask); }