ofPixels is an object for working with blocks of pixels, those pixels can be copied from an image that you've loaded, something that you've drawn using ofGraphics, or a ofVideoGrabber instance. You can create an image from pixels, using on ofPixels object like so:

You can think of the ofPixels as the CPU side representation of pixel data that can be sent to the GPU as an ofTexture object. To draw pixels, you need to put them into an ofTexture and to manipulate an ofTextures pixel data you need an ofPixels object.

Documentation from code comments

ofPixels_::ofPixels_(const ofPixels_ &mom)

ofPixels_::ofPixels_(const ofPixels_ &mom)

ofPixels_::~ofPixels_()

void ofPixels_::allocate(int w, int h, int channels)

Allocates space for pixel data of the given width (w), height (h) and number of channels (channels). If an ofImageType or ofPixelFormat is passed in, it will allocate based on the required number of channels.

This crops the pixels into the ofPixels reference passed in by toPix. at the x and y and with the new width and height. As a word of caution this reallocates memory and can be a bit expensive if done a lot.

iterator ofPixels_::end()

const_iterator ofPixels_::end()

int ofPixels_::getBitsPerChannel()

This is how large each channel of a pixels is, ofPixels objects that store pixel data as unsigned char are smaller than ofPixels objects that store pixel data as floats.
This returns bit, not bytes, so you'll probably see ofPixels as 32 and ofPixels as 8.

int ofPixels_::getBitsPerPixel()

int ofPixels_::getBytesPerChannel()

This is how large each channel of a pixels is, ofPixels objects that store pixel data as unsigned char are smaller than ofPixels objects that store pixel data as floats.
This returns bytes, not bits, so you'll probably see ofPixels as 4 and ofPixels as 1.

PixelType & ofPixels_::operator[](int pos)

bool ofPixels_::pasteInto(ofPixels_ &dst, int x, int y)

This pastes the ofPixels object into another ofPixels object at the specified index, copying data from the ofPixels that the method is being called on to the ofPixels object at &dst. If the data being copied doesn't fit into the dst then the image is cropped.

Drawing the three textures here you can see the ball cropped into the mountain:

Documentation from code comments

Paste the ofPixels object into another ofPixels object at the
specified index, copying data from the ofPixels that the method is
being called on to the ofPixels object at &dst. If the data being
copied doesn't fit into the destination then the image is cropped.

reverse_iterator ofPixels_::rend()

const_reverse_iterator ofPixels_::rend()

This resizes the ofPixels instance to the dstHeight and dstWidth. The options for the interpolation methods are as follows:
OF_INTERPOLATE_NEAREST_NEIGHBOR =1
OF_INTERPOLATE_BILINEAR =2
OF_INTERPOLATE_BICUBIC =3

This resizes the ofPixels instance to the size of the ofPixels object passed in dst. The options for the interpolation methods are as follows:
OF_INTERPOLATE_NEAREST_NEIGHBOR =1
OF_INTERPOLATE_BILINEAR =2
OF_INTERPOLATE_BICUBIC =3

void ofPixels_::set(PixelType val)

Documentation from code comments

void ofPixels_::set(int channel, PixelType val)

This sets all the pixel data for a single channel, for instance, the Red pixel values, from an ofPixels object assumed to be a grayscale representation of the data that should go into that one channel.