Bitmap - converter para tons cinza |
Top Previous Next |
Note: não é possivel passar um TObject como parametro ou seja não funciona com Image1.Picture.Bitmap... Deve criar um TBitmap e usar assign antes...
procedure ConverterTonsCinza(var Bitmap: TBitmap); var P : ^TRGBTriple; C, X, Y: Integer; begin Bitmap.PixelFormat := pf24Bit; for y := 0 to Bitmap.Height-1 do begin P := Bitmap.ScanLine[y]; for x := 0 to Bitmap.Width-1 do begin C := Round((0.30 * P.rgbtRed) + (0.59 * P.rgbtGreen) + (0.11 * P.rgbtBlue)); P.rgbtRed := C; P.rgbtGreen := C; P.rgbtBlue := C; Inc(p); end; end; end; |