Die Reduzierung der Farbtiefe in einem Bild reduziert nicht die Dateigröße?

Ich benutze diesen Code, um die Tiefe eines Bildes zu reduzieren:

<code>public void ApplyDecreaseColourDepth(int offset)
{
    int A, R, G, B;

    Color pixelColor;

    for (int y = 0; y < bitmapImage.Height; y++)
    {
        for (int x = 0; x < bitmapImage.Width; x++)
        {
            pixelColor = bitmapImage.GetPixel(x, y);

            A = pixelColor.A;

            R = ((pixelColor.R + (offset / 2)) - ((pixelColor.R + (offset / 2)) % offset) - 1);

            if (R < 0)
            {
                R = 0;
            }

            G = ((pixelColor.G + (offset / 2)) - ((pixelColor.G + (offset / 2)) % offset) - 1);

            if (G < 0)
            {
                G = 0;
            }

            B = ((pixelColor.B + (offset / 2)) - ((pixelColor.B + (offset / 2)) % offset) - 1);

            if (B < 0)
            {
                B = 0;
            }

            bitmapImage.SetPixel(x, y, Color.FromArgb(A, R, G, B));
        }
    }
}
</code>

Die erste Frage ist: Der Versatz, den ich der Funktion gebe, ist nicht die Tiefe, stimmt das?

Das zweite ist, dass ich beim Versuch, das Bild zu speichern, nachdem ich die Farbtiefe verringert habe, die gleiche Größe wie das Originalbild erhalte. Ist es nicht logisch, dass ich eine Datei mit einer geringeren Größe bekomme, oder irre ich mich.

Dies ist der Code, mit dem ich das geänderte Bild speichere:

<code>private Bitmap bitmapImage;

public void SaveImage(string path)
{
    bitmapImage.Save(path);
} 
</code>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage