private void openFileItem_Click(object sender, System.EventArgs e)
{
try
{
// show file open dialog
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// load image
sourceImage = (Bitmap)Bitmap.FromFile(openFileDialog.FileName);
// check pixel format
if ((sourceImage.PixelFormat == PixelFormat.Format16bppGrayScale) ||
(Bitmap.GetPixelFormatSize(sourceImage.PixelFormat) > 32))
{
MessageBox.Show("The demo application supports only color images.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
// free image
sourceImage.Dispose();
sourceImage = null;
}
else
{
// make sure the image has 24 bpp format
if (sourceImage.PixelFormat != PixelFormat.Format24bppRgb)
{
Bitmap temp = Accord.Imaging.Image.Clone(sourceImage, PixelFormat.Format24bppRgb);
sourceImage.Dispose();
sourceImage = temp;
}
}
ClearCurrentImage();
// display image
pictureBox.Image = sourceImage;
noneFiltersItem.Checked = true;
// enable filters menu
filtersItem.Enabled = (sourceImage != null);
}
}
catch
{
MessageBox.Show("Failed loading the image", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}