Odwrócenie obrazu zwraca czarny obraz

Chcę odwrócić obiekt obrazu. Obecnie mój kod wygląda tak:

    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;
    }

Jednak kiedy to uruchomię i pokażę to wPictureBox, wynikiem jest czarny obraz. Używam tego w Visual Studio 2012 w Windows 8 Release Preview. Jeśli jest lepszy sposób na zrobienie tego, daj mi znać. Dzięki.

questionAnswers(8)

yourAnswerToTheQuestion