Portfolio[UWM] Techniki Multimedialne / PIRO

Negatyw

Zadanie
Zaimplementować funkcję robiącą z bitmapy negatyw.

Obrazu wynikowym będzie odwrócenie kolorów.

ma parametry funkcji:
  • _BitMap źródło obrazka,
BitMap negative(BitMap _BitMap)
{
	// utworzenie tablicy LUT
	// aby uniknąć niepotrzebnego liczenia. 
	int oLUT[256], oTemp;
	for(int i = 0; i < 256; i++)
		oLUT[i] = 255-i;

	// utworzenie kopii bitmapy
	BitMap oNew = _BitMap; 
	oNew.Pixels = Clone(_BitMap);

	// proces przetwarzania 
	for(int y = 0; y < _BitMap.Height; y++)
		for(int x = 0; x < _BitMap.Width; x++)
		{
			Pix oPix = Get_PIX(x, y, _BitMap);
			oPix.Light = oLUT[oPix.Light];
			oPix.Red = oLUT[oPix.Red];
			oPix.Green = oLUT[oPix.Green];
			oPix.Blue = oLUT[oPix.Blue];
			Set_PIX(x,y,oPix,oNew);
		}
	return oNew;
}

  • Administracja