summaryrefslogtreecommitdiff
path: root/Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs')
-rw-r--r--Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs120
1 files changed, 120 insertions, 0 deletions
diff --git a/Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs b/Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs
new file mode 100644
index 0000000..cf72567
--- /dev/null
+++ b/Wrapper/FreeImage.NET/cs/Samples/Sample 04 - Getting bitmap informations/MainForm.cs
@@ -0,0 +1,120 @@
+using System;
+using System.Windows.Forms;
+using FreeImageAPI;
+
+namespace Sample04
+{
+ public partial class MainForm : Form
+ {
+ string message = null;
+
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new MainForm());
+ }
+
+ public MainForm()
+ {
+ InitializeComponent();
+ FreeImageEngine.Message += new OutputMessageFunction(FreeImage_Message);
+ }
+
+ ~MainForm()
+ {
+ FreeImageEngine.Message -= new OutputMessageFunction(FreeImage_Message);
+ }
+
+ void FreeImage_Message(FREE_IMAGE_FORMAT fif, string message)
+ {
+ if (this.message == null)
+ {
+ this.message = message;
+ }
+ else
+ {
+ this.message += "\n" + message;
+ }
+ }
+
+ private void bOpenFile_Click(object sender, EventArgs e)
+ {
+ // Resetting filename
+ ofd.FileName = "";
+
+ // Was a file selected
+ if (ofd.ShowDialog() == DialogResult.OK)
+ {
+ // Format is stored in 'format' on successfull load.
+ FREE_IMAGE_FORMAT format = FREE_IMAGE_FORMAT.FIF_UNKNOWN;
+
+ // Try loading the file
+ FIBITMAP dib = FreeImage.LoadEx(ofd.FileName, ref format);
+
+ try
+ {
+ // Error handling
+ if (dib.IsNull)
+ {
+ // Chech whether FreeImage generated an error messe
+ if (message != null)
+ {
+ MessageBox.Show("File could not be loaded!\nError:{0}", message);
+ }
+ else
+ {
+ MessageBox.Show("File could not be loaded!", message);
+ }
+ return;
+ }
+
+ // Read width
+ lWidth.Text = String.Format("Width: {0}", FreeImage.GetWidth(dib));
+
+ // Read height
+ lHeight.Text = String.Format("Width: {0}", FreeImage.GetWidth(dib));
+
+ // Read color depth
+ lBPP.Text = String.Format("Color Depth: {0}", FreeImage.GetBPP(dib));
+
+ // Read red bitmask (16 - 32 bpp)
+ lRedMask.Text = String.Format("Red Mask: 0x{0:X8}", FreeImage.GetRedMask(dib));
+
+ // Read green bitmask (16 - 32 bpp)
+ lBlueMask.Text = String.Format("Green Mask: 0x{0:X8}", FreeImage.GetGreenMask(dib));
+
+ // Read blue bitmask (16 - 32 bpp)
+ lGreenMask.Text = String.Format("Blue Mask: 0x{0:X8}", FreeImage.GetBlueMask(dib));
+
+ // Read image type (FI_BITMAP, FIT_RGB16, FIT_COMPLEX ect)
+ lImageType.Text = String.Format("Image Type: {0}", FreeImage.GetImageType(dib));
+
+ // Read x-axis dpi
+ lDPIX.Text = String.Format("DPI X: {0}", FreeImage.GetResolutionX(dib));
+
+ // Read y-axis dpi
+ lDPIY.Text = String.Format("DPI Y: {0}", FreeImage.GetResolutionY(dib));
+
+ // Read file format
+ lFormat.Text = String.Format("File Format: {0}", FreeImage.GetFormatFromFIF(format));
+ }
+ catch
+ {
+ }
+
+ // Always unload bitmap
+ FreeImage.UnloadEx(ref dib);
+
+ // Reset the error massage buffer
+ message = null;
+ }
+ // No file was selected
+ else
+ {
+ MessageBox.Show("No file loaded.", "Error");
+ }
+ }
+ }
+} \ No newline at end of file