title: Bitmap array format in C#
body: <p>I have following code to create bitmap using array with data*</p>
  
  <pre><code>//Here create the Bitmap to the know height, width and format
  Bitmap bmp = new Bitmap( 5,7,PixelFormat.Format1bppIndexed);  
  //Create a BitmapData and Lock all pixels to be written 
  BitmapData bmpData = bmp.LockBits(
  new Rectangle(0, 0, bmp.Width, bmp.Height),   
  ImageLockMode.WriteOnly, bmp.PixelFormat);
  //Copy the data from the byte array into BitmapData.Scan0
  Marshal.Copy(data, 0, bmpData.Scan0, data.Length);     
  //Unlock the pixels
  bmp.UnlockBits(bmpData);
  bmp.Save("BitMapIcon.bmp",ImageFormat.Bmp);
  </code></pre>
  
  <p>My input array (data ) :</p>
  
  <pre><code>byte[5] data = {0xff,0xff,0xff,0xff,0xff}
  </code></pre>
  
  <p>Question :</p>
  
  <ol>
  <li>Can array of data* for bitmap input have only valu of each pixel (in this
  format it is 0 and 1 ) ?</li>
  <li>Why passing array of 0xff value some of
      pixel are not black ?</li>
  <li>Can width size be less than 1 byte ?</li>
  </ol>