Beim Invertieren des Bildes wird ein schwarzes Bild zurückgegeben

Ich möchte ein Bildobjekt invertieren. Derzeit sieht mein Code so aus:

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

Wenn ich dies jedoch ausführe und es in a zeigePictureBoxDas Ergebnis ist ein schwarzes Bild. Ich führe dies in Visual Studio 2012 unter Windows 8 Release Preview aus. Wenn es einen besseren Weg gibt, lassen Sie es mich bitte wissen. Vielen Dank.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage