##### Views

- Page
- Discussion
- View source
- History

# ImageData:mapPixel

Transform an image by applying a function to every pixel.

This function is a higher order function. It takes another function as a parameter, and calls it once for each pixel in the ImageData.

The function parameter is called with six parameters for each pixel in turn. The parameters are numbers that represent the x and y coordinates of the pixel and its red, green, blue and alpha values. The function parameter can return up to four number values, which become the new r, g, b and a values of the pixel. If the function returns fewer values, the remaining components are set to 0.

## Function

### Synopsis

function pixelFunction(x, y, r, g, b, a)
-- template for defining your own pixel mapping function
-- perform computations giving the new values for r, g, b and a
-- ...
return r, g, b, a
end
ImageData:mapPixel( pixelFunction )

### Arguments

`function pixelFunction`
  Function parameter to apply to every pixel.

### Returns

Nothing.

## Examples

### Brighten an image:

function brighten( x, y, r, g, b, a )
r = math.min(r * 3, 255)
g = math.min(g * 3, 255)
b = math.min(b * 3, 255)
return r,g,b,a
end
imageData:mapPixel( brighten )

### Add colored stripes to an image:

function stripey( x, y, r, g, b, a )
r = math.min(r * math.sin(x*100)*2, 255)
g = math.min(g * math.cos(x*150)*2, 255)
b = math.min(b * math.sin(x*50)*2, 255)
return r,g,b,a
end
imageData:mapPixel( stripey )

source: http://khason.net/blog/hlsl-pixel-shader-effects-tutorial/

## See Also

- ImageData

## Other Languages

Dansk – Deutsch – English – Español – Français – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Polski – Português – Română – Slovenský – Suomi – Svenska – Türkçe – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – ไทย – 日本語 – 正體中文 – 简体中文 – Tiếng Việt – 한국어
More info

Retrieved from "https://www.love2d.org/wiki/ImageData:mapPixel"
Categories: Templates | Functions

##### Personal tools

- Log in

##### Search

##### Toolbox

- What links here
- Related changes
- Special pages
- Printable version
- Permanent link
- Browse properties