1

次のコードの意味がわかりませんでした:

double savesize = (8.0 * ((height * (width / 3) * 3) / 3 - 1)) / 1024;

だから私を助けてください。

コード:

    private void ImageBrowseButton_Click(object sender, EventArgs e)
    {
        DialogResult dr = openFileDialog1.ShowDialog();
        if (dr == DialogResult.OK)
        {
            loadedImagePath = openFileDialog1.FileName;
            imageTextBox.Text= loadedImagePath;
            loadedImage = Image.FromFile(loadedImagePath);
            height = loadedImage.Height;
            width = loadedImage.Width;
            loadedBitmap = new Bitmap(loadedImage);

            FileInfo imginf = new FileInfo(loadedImagePath);
            float size = (float)imginf.Length / 1024;
            SizeLabel.Text = size.ToString() + " KB";
            HeightLabel.Text = loadedImage.Height.ToString() + " Pixel";
            WidthLabel.Text = loadedImage.Width.ToString() + " Pixel";
            double savesize = (8.0 * ((height * (width / 3) * 3) / 3 - 1)) / 1024;
            SaveSizeLabel.Text = savesize.ToString() + " KB";
        }

    }

ありがとうございました

4

1 に答える 1

0

これは、画像を保存するために必要なキロバイト数の見積もりです。ビットマップ(ロスレス)として保存するには、式は(Zicaraから)になります。

キロバイト単位のファイルサイズ=解像度2x幅x高さxサンプルあたりのビット数÷8,192

あなたの例では、画像はビットマップとして保存されていないと仮定しますが、代わりに、それらのサイズの画像が与えられた場合にそのサイズのファイルを生成する不可逆形式で保存されます-ファイルを実際に永続化する方法を見ると、流される。

于 2013-03-13T16:49:00.120 に答える