|
分類:[C#]
PC環境:Windows XP、VC# 2005
まずOpenFileDialogより、ビットの深さが24bitのビットマップファイルを指定し、
以下のソースコードにてピクチャーボックス1にビットマップ画像を表示します。
Bitmap _bmp = new Bitmap(filePath);
Graphics g;
pictureBox1.Image = new Bitmap(_bmp.Width, _bmp.Height);
g = Graphics.FromImage(pictureBox1.Image);
g.DrawImage(_bmp, 0, 0);
_bmp.Dispose();
g.Dispose();
その後、SaveFileDialogにてビットマップファイルを保存します。
string filename;
int filterIndex;
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.Filter = "Bitmap files (*.bmp)|*.bmp|JPEG files (*.jpg)|*.jpg|All files (*.*)|*.*";
saveDialog.RestoreDirectory = true;
if (saveDialog.ShowDialog() == DialogResult.OK)
{
filename = saveDialog.FileName;
filterIndex = saveDialog.FilterIndex;
ImageFormat[] imageFormats = new ImageFormat[2] { ImageFormat.Bmp, ImageFormat.Jpeg };
pictureBox1.Image.Save(filename, imageFormats[filterIndex - 1]);
return;
}
しかし、保存されたビットマップファイルのビットの深さを見ると、
24ではなく32になってしまいます。このビットの深さを
24ビットのまま保存または、ビットの深さを指定して保存する方法はないでしょうか?
以上、よろしくお願いします。
|