# Converts the bitmap to grayscale by manipulating each individual pixel
fun grayscale
do
for x in [0..self.height[ do
var row = self.data[x]
for y in [0..self.width[ do
var pixel = row[y]
var red = pixel >> 16
var green = (pixel & 0x00FF00) >> 8
var blue = pixel & 0x000000FF
var lum = (0.2126 * red.to_f + 0.7152 * green.to_f + 0.0722 * blue.to_f).to_i
pixel = lum * 256 * 256 + lum * 256 + lum
self.data[x][y] = pixel
end
end
end
lib/bitmap/bitmap.nit:236,2--251,4