void ofPixels_<PixelType>::setColor(int index, const ofColor_<PixelType>& color) { switch(pixelFormat){ case OF_PIXELS_RGB: pixels[index] = color.r; pixels[index+1] = color.g; pixels[index+2] = color.b; break; case OF_PIXELS_BGR: pixels[index] = color.b; pixels[index+1] = color.g; pixels[index+2] = color.r; break; case OF_PIXELS_RGBA: pixels[index] = color.r; pixels[index+1] = color.g; pixels[index+2] = color.b; pixels[index+3] = color.a; break; case OF_PIXELS_BGRA: pixels[index] = color.b; pixels[index+1] = color.g; pixels[index+2] = color.r; pixels[index+3] = color.a; break; case OF_PIXELS_GRAY: pixels[index] = color.getBrightness(); break; case OF_PIXELS_GRAY_ALPHA: pixels[index] = color.getBrightness(); pixels[index+1] = color.a; break; case OF_PIXELS_RGB565: case OF_PIXELS_NV12: case OF_PIXELS_NV21: case OF_PIXELS_YV12: case OF_PIXELS_I420: case OF_PIXELS_YUY2: case OF_PIXELS_UYVY: case OF_PIXELS_Y: case OF_PIXELS_U: case OF_PIXELS_V: case OF_PIXELS_UV: case OF_PIXELS_VU: case OF_PIXELS_UNKNOWN: default: ofLogWarning("ofPixels") << "setting color not supported yet for " << ofToString(pixelFormat) << " format"; break; } }
void ofPixels_<PixelType>::setColor(int x, int y, ofColor_<PixelType> color) { int index = getPixelIndex(x, y); if( channels == 1 ){ pixels[index] = color.getBrightness(); }else if( channels == 3 ){ pixels[index] = color.r; pixels[index+1] = color.g; pixels[index+2] = color.b; }else if( channels == 4 ){ pixels[index] = color.r; pixels[index+1] = color.g; pixels[index+2] = color.b; pixels[index+3] = color.a; } }
void ofPixels_<PixelType>::setColor(const ofColor_<PixelType>& color) { switch(pixelFormat){ case OF_PIXELS_RGB:{ Pixels pixels = getPixelsIter(); Pixel _end = pixels.end(); for(Pixel pixel=pixels.begin();pixel!=_end;pixel++){ pixel[0] = color.r; pixel[1] = color.g; pixel[2] = color.b; } } break; case OF_PIXELS_BGR:{ Pixels pixels = getPixelsIter(); Pixel _end = pixels.end(); for(Pixel pixel=pixels.begin();pixel!=_end;pixel++){ pixel[0] = color.b; pixel[1] = color.g; pixel[2] = color.r; } } break; case OF_PIXELS_RGBA:{ Pixels pixels = getPixelsIter(); Pixel _end = pixels.end(); for(Pixel pixel=pixels.begin();pixel!=_end;pixel++){ pixel[0] = color.r; pixel[1] = color.g; pixel[2] = color.b; pixel[3] = color.a; } } break; case OF_PIXELS_BGRA:{ Pixels pixels = getPixelsIter(); Pixel _end = pixels.end(); for(Pixel pixel=pixels.begin();pixel!=_end;pixel++){ pixel[0] = color.b; pixel[1] = color.g; pixel[2] = color.r; pixel[3] = color.a; } } break; case OF_PIXELS_GRAY:{ PixelType b = color.getBrightness(); for(iterator i=begin();i!=end();++i){ *i = b; } } break; case OF_PIXELS_GRAY_ALPHA:{ PixelType b = color.getBrightness(); Pixels pixels = getPixelsIter(); Pixel _end = pixels.end(); for(Pixel pixel=pixels.begin();pixel!=_end;pixel++){ pixel[0] = b; pixel[1] = color.a; } } break; case OF_PIXELS_RGB565: case OF_PIXELS_NV12: case OF_PIXELS_NV21: case OF_PIXELS_YV12: case OF_PIXELS_I420: case OF_PIXELS_YUY2: case OF_PIXELS_UYVY: case OF_PIXELS_Y: case OF_PIXELS_U: case OF_PIXELS_V: case OF_PIXELS_UV: case OF_PIXELS_VU: case OF_PIXELS_UNKNOWN: default: ofLogWarning("ofPixels") << "setting color not supported yet for " << ofToString(pixelFormat) << " format"; break; } }