/// <summary> /// Get the width of the image /// </summary> /// <param name="ImageMatrix">2D array that contains the image</param> /// <returns>Image Width</returns> public static int GetWidth(RGBPixel[,] ImageMatrix) { return ImageMatrix.GetLength(1); }
/// <summary> /// Display the given image on the given PictureBox object /// </summary> /// <param name="ImageMatrix">2D array that contains the image</param> /// <param name="PicBox">PictureBox object to display the image on it</param> public static void DisplayImage(RGBPixel[,] ImageMatrix, PictureBox PicBox) { // Create Image: //============== int Height = ImageMatrix.GetLength(0); int Width = ImageMatrix.GetLength(1); Bitmap ImageBMP = new Bitmap(Width, Height, PixelFormat.Format24bppRgb); unsafe { BitmapData bmd = ImageBMP.LockBits(new Rectangle(0, 0, Width, Height), ImageLockMode.ReadWrite, ImageBMP.PixelFormat); int nWidth = 0; nWidth = Width * 3; int nOffset = bmd.Stride - nWidth; byte* p = (byte*)bmd.Scan0; for (int i = 0; i < Height; i++) { for (int j = 0; j < Width; j++) { p[0] = ImageMatrix[i, j].red; p[1] = ImageMatrix[i, j].green; p[2] = ImageMatrix[i, j].blue; p += 3; } p += nOffset; } ImageBMP.UnlockBits(bmd); } PicBox.Image = ImageBMP; }
/// <summary> /// Get the height of the image /// </summary> /// <param name="ImageMatrix">2D array that contains the image</param> /// <returns>Image Height</returns> public static int GetHeight(RGBPixel[,] ImageMatrix) { return ImageMatrix.GetLength(0); }