Create a TBitmap from a two-dimensional array of byte (Views: 30)
Problem/Question/Abstract: Is there an easy way of converting a two dimensional array of byte to a bitmap? Answer: Depending on your PixelFormat (example is for 8 bit bitmap)... { ... } var Ptr: ^Byte; {for 8 bit PixelFormat} begin NewBitmap := TBitmap.Create; NewBitmap.PixelFormat := pf8bit; NewBitmap.Height := High(PixelArray); { assumes Low(PixelArray) = 0; } NewBitmap.Width := High(PixelArray[0]); { assumes Low(PixelArray[0]) = 0; } for y := 0 to NewBitmap.Height - 1 do begin Ptr := NewBitmap.ScanLine[y]; for x := 0 to NewBitmap.Width - 1 do begin Ptr^ := PixelArray[y, x]; Inc(Ptr); end; end; end; |