Инвертирующее изображение возвращает черное изображение
Я хочу инвертировать объект Image. В настоящее время мой код выглядит так:
private Image Invert(Image img)
{
var bmpPicture = new Bitmap(img.Width, img.Height);
var iaPicture = new ImageAttributes();
var cmPicture = new ColorMatrix { Matrix00 = -1, Matrix11 = -1, Matrix22 = -1 };
iaPicture.SetColorMatrix(cmPicture);
var gfxPicture = Graphics.FromImage(img);
var rctPicture = new Rectangle(0, 0, img.Width, img.Height);
gfxPicture.DrawImage(img, rctPicture, 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, iaPicture);
return bmpPicture;
}
Однако, когда я запускаю это, и показываю это вPictureBox
В результате получается черное изображение. Я запускаю это в Visual Studio 2012 под предварительным просмотром Windows 8 Release. Если есть лучший способ сделать это, пожалуйста, дайте мне знать. Благодарю.